SpringMVC入门(一)之HelloWorld(IDEA版)
Spring MVC 入门(一)
helloworld
IDEA创建工程:
选择SpringMVC即可,等待创建
编写前端控制器
由于SpringMVC需要一个前端控制器(相当于医院分诊台)来拦截前端请求,并且智能分发。
前端控制器是一个Servlet,所以应该在Web.xml中配置servlet进行拦截
在WEB-INF目录下的web.xml文件中,有一个叫做dispatcher的东西,内容如下(初始状态可能没有< init-param >以及其子模块)
<servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>index.jsp</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
接下来是该部分的详细讲解:
<load-on-startup>1</load-on-startup>
load-on-startup 代表服务器启动时创建对象,其数值代表优先级,数值越小,优先级越高,越先创建对象。不加该标签则在第一次访问时创建对象
<init-param><param-name>contextConfigLocation</param-name><param-value>index.jsp</param-value>
</init-param>
该部分指定配置文件位置,因此我们在src 文件下创建一个SpringBean 文件,创建方法如图:
然后将< param-value >该为:classpath: springmvc.xml;
如下:
<init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param>
将< servlet-mapping >中的对应 < url-pattern> 改为/
<servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/</url-pattern><!-- /*与/都是拦截所有请求,但是“/*”会拦截jsp页面,一旦拦截,jsp页面将无法显示/不会拦截jsp,保证jsp访问正常--></servlet-mapping>
然后在springmvc.xml< bean>中添加:
xmlns:context="http://www.springframework.org/schema/context"
添加后的结果应该是:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"xmlns:context="http://www.springframework.org/schema/context">
</beans>
添加扫描所有组件:
<context:component-scan base-package="com.tryMvc"></context:component-scan>
其中base-package中写想要扫描的包
编写处理器
为了测试,我选择在WEB-INF下添加文件,目录结构如图:
success.xml文件内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Success!</title>
</head>
<body><a href="/hello">Hello world</a>
</body>
</html>
然后在src文件下创建Java文件,
在MyFirstController 中添加方法,并且添加@Controller注解
@Controller是用来表示哪个组件是控制器,
代码如下:
@Controller
public class MyFirstController {@RequestMapping("/hello")//处理当前项目下的Hello请求public String myFirstController(){System.out.println("Get");return "/WEB-INF/pages/success.jsp";}}
请求处理完返回success页面
注意:此处由于/WEB_INF/pages/success.jsp请求前缀是/WEB-INF/pages,后缀是.jsp,所以可以在springmvc.xml中配置一个视图解析器,这样返回时,可以直接返回网页文件名。代码如下:
<!-- 配置一个视图解析器,能帮助拼接页面地址 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages"></property><property name="suffix" value=".jsp"></property></bean>
prefix代表前缀,suffix代表后缀
运行前的准备:
在运行前,需要在IDEA环境中配置Apache服务器步骤如下:
1、
点击右上角Add Configuration并在左侧选择+
2、
选中TomcatServer
3、
选择本地Tomcat文件
4、
选择Deployment,并点击右侧加号,然后点击Artifact…
配置完成
运行
运行成功!
SpringMVC入门(一)之HelloWorld(IDEA版)相关推荐
- springMVC入门配置及helloworld实例
1. 新建web project 2. 往lib里copy必须的jar 3. 改写web.xml <?xml version="1.0" encoding="UTF ...
- 【SpringMVC 笔记】SpringMVC 原理 + 入门项目(xml 配置版 vs 注解版)
SpringMVC 入门项目 什么是 SpringMVC? 中心控制器 SpringMVC 执行原理 执行流程 xml 配置版 1.创建一个 Web 项目 2.pom.xml 中导入 SpringMV ...
- java jni helloword_JNI入门教程之HelloWorld篇
JNI入门教程之HelloWorld篇 来源:互联网 宽屏版 评论 2008-05-31 09:07:11 本文讲述如何使用JNI技术实现HelloWorld,目的是让读者熟悉JNI的机制并编写第 ...
- java mvc 菜鸟_【java框架】SpringMVC(1)--SpringMVC入门
1. SpringMVC框架认识 Spring MVC是一个基于MVC模式的Web框架,SpringMVC作为Spring中的一个模块,它与Spring能够无缝集成,主要用于解决企业Web开发中常见的 ...
- SpringMVC 入门教程
SpringMVC 入门教程 1.参考资料 2020年IDEA版黑马Java就业班-进阶篇(Mybatis.Spring.SpringMVC.Maven.springboot和项目等等 项目地址:On ...
- 《iOS 8应用开发入门经典(第6版)》——第1章,第1.6节小结
本节书摘来自异步社区<iOS 8应用开发入门经典(第6版)>一书中的第1章,第1.6节小结,作者 [美]John Ray(约翰 雷),更多章节内容可以访问云栖社区"异步社区&qu ...
- 《Redis入门指南(第2版)》一第2章 准备
本节书摘来异步社区<Redis入门指南(第2版)>一书中的第2章,作者: 李子骅 责编: 杨海玲,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 准备 R ...
- php开发自学经典.pdf_PHP从入门到精通(第3版) PDF扫描版[45MB]
PHP从入门到精通(第3版)从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用PHP进行网络开发应该掌握的各方面技术.全书共分4篇25章,包括初识PHP.PHP环境搭建和开发工具.P ...
- 《Android应用开发入门经典(第3版)》——第6.1节创建演示应用
本节书摘来自异步社区<Android应用开发入门经典(第3版)>一书中的第6章,第6.1节创建演示应用,作者 [美]Carmen Delessio , Lauren Darcey , Sh ...
- 《iOS 9应用开发入门经典(第7版)》——第2章,第2.4节小结
本节书摘来自异步社区<iOS 9应用开发入门经典(第7版)>一书中的第2章,第2.4节小结,作者 [美]约翰 雷(John Ray),更多章节内容可以访问云栖社区"异步社区&qu ...
最新文章
- python恶搞表情包-Python开发个人专属表情包网站,表情在手,天下我有
- 为什么要用相对论为GPS导航提供修正
- pycharm提示your evalluation license has expired解决方法
- Swift3 Scanner用法之判断是否数字、提取字符串里的数字
- Windows学习总结(17)——Windows 15个重要运行命令
- 天翼网关获取超级密码
- python毕业设计作品基于django框架校园网站系统毕设成品(6)开题答辩PPT
- 4月份的成长月刊(文末有福利)
- 关于在手机上注册Google账号
- html中字号的标签是什么,htmlfont标签是什么?font标签的属性的详细介绍
- mysql将公历农历转换_SQL农历转换函数(显示中文格式,加入润月的显示)
- excel怎么设置自动计算_EXCEL内输入起始时间,如何自动计算小时时间差?
- [XCode] XCode 6 中修改模拟器版本
- codeforces 416E President's Path floyd+D(递)P(推)
- python基础教学习题_python基础|数据类型练习题
- 前端程序员Vue开发经验总结
- SpringBoot设置默认主页
- 淘宝百亿补贴入口在哪里怎么进入领取淘宝百亿补贴优惠券?
- 安卓之软键盘监听与切换软键盘状态和重新获取EditText焦点
- Python吴恩达深度学习作业16 -- 人脸识别
热门文章
- Java讲课笔记13:类的继承
- 大数据学习笔记27:MR案例——多输入源处理成绩
- 【Tyvj1783】【codevs2418】【BZOJ1856】字符串,厉害的组合数与模型转换
- 8.霍夫变换:线条——动手编码、霍夫演示_4
- windows app html5,使用 HTML5 來偵測位置 (HTML)
- json生成shp_使用JS把shapefile地图数据转换为geojson格式
- gp3688 uhf2扩频_摩托罗拉GP3688对讲机(VHF、UHF)对讲机维修
- Windows中导出电脑文件名或者文件结构的方法
- mysql Inoodb 内核
- CCF201503-3 节日(100分)