Spring MVC--第一个程序
Posted 猩生柯北
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring MVC--第一个程序相关的知识,希望对你有一定的参考价值。
项目:primary
完成功能:用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在响应页面中显示该信息。
(1)导入jar包
在创建好web项目后,首先导入jar包。SpringMVC需要的基本jar包,是在原Spring的jar包的基础上增加了两个jar包:
--Spring-context-support:包含支持UI模板,邮件服务,缓存cache等方面的类。
--Spring-webmvc:对SpringMVC的实现。
/01-primary/WebContent/WEB-INF/xingxing-servlet.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:p="http://www.springframework.org/schema/p" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xmlns:mvc="http://www.springframework.org/schema/mvc" 7 xsi:schemaLocation=" 8 http://www.springframework.org/schema/beans 9 http://www.springframework.org/schema/beans/spring-beans.xsd 10 http://www.springframework.org/schema/mvc 11 http://www.springframework.org/schema/mvc/spring-mvc.xsd 12 http://www.springframework.org/schema/context 13 http://www.springframework.org/schema/context/spring-context.xsd"> 14 15 <!-- 注册处理器 --> 16 <!-- id值的意义:限制springmvc处理的请求为*.do --> 17 <bean id="/my.do" class="com.hk.controller.MyController"></bean> 18 19 </beans>
注意:此配置文件的名字并不能任意取,得和web.xml中的<servlert-name>中所起的名字匹配才行。
(2)配置中央调度器
web.xml:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 5 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 6 7 <!-- 注册中央调度器 --> 8 <servlet> 9 <servlet-name>xingxing</servlet-name> 10 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 11 </servlet> 12 <servlet-mapping> 13 <servlet-name>xingxing</servlet-name> 14 <url-pattern>*.do</url-pattern> 15 </servlet-mapping> 16 <welcome-file-list> 17 <welcome-file>index.jsp</welcome-file> 18 </welcome-file-list> 19 </web-app>
/01-primary/WebContent/WEB-INF/jsp:
1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="ISO-8859-1"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > 4 <html> 5 <head> 6 <title>welcome</title> 7 </head> 8 <body> 9 ${message} 10 </body> 11 </html>
运行一下:
此时,项目结构如图:
(3)指定SpringMVC配置文件的位置及文件名
通过web.xml中<servlet-class>标签中的org.springframework.web.servlet.DispatcherServlet找到其源码DispatcherServlet,其中没有关于这方面的代码,然后DispatcherServlet继承自FrameworkServlet,于是找FrameworkServlet的源码,通过查找可以找到:
所以,可以在web.xml中这样编写:
重启tomcat,运行一下,结果如下:
即表明:更改没有问题。
所以:<init-param>指定springmvc配置文件及文件名。
(4)load-on-startup
(5)使用视图解析器
/01-primary/src/springmvc.xml中添加以下代码:
1 <!--注册视图解析器--> 2 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 3 <!-- 前缀 --> 4 <property name="prefix" value="/WEB-INF/jsp/"></property> 5 <!-- 后缀 --> 6 <property name="suffix" value=".jsp"></property> 7 </bean>
注意:<bean>中没有id。
对比:
当有大量相同资源时,可以这样写,减轻冗余。
最后,项目结构如图:
(6)开发流程
先注册中央调度器--》定义处理器(Controller.java,让它实现Controller接口)--》写springmvc.xml,在其中编写"注册处理器"代码。
(7)执行流程分析
在/01-primary/WebContent/WEB-INF/jsp/welcome.jsp中加入${requestScope.message},如图:
运行结果:
说明:
//其底层执行的是request.setAttribute();
mv.addObject("message", "hello Spring MVC world!");
以上是关于Spring MVC--第一个程序的主要内容,如果未能解决你的问题,请参考以下文章