有关SpringMVC环境的搭建和Demo网上比比皆是,这里不再赘述,本文的侧重点将放在:配置文件的理解!
Hello World入门主要分为以下步骤:
1、准备开发环境和运行环境——>2、前端控制器的配置——>3、页面控制器——>4、开发视图页面——>5、启动服务器运行调试
1、准备开发环境和运行环境
开发工具:Eclipse
运行环境:Tomcat
工程:springmvc
依赖jar包(放在WEB-INF/lib下):
1、Spring框架的jar包
2、框架依赖jar包
日志: commons.logging.jar
JSTL标签库:jstl.jar standard.jar
2、前端控制器的配置
(1)将用户请求缴费SpringMVC处理
在web.xml中添加如下配置:
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>sprindmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
load-on-startup:表示启动容器时初始化此Servelt
url-pattern:标示有哪些请求需要SpringMVC处理。
/:拦截所有请求
*.jsp:拦截所有以.jsp为扩展名的请求
(2)在Spring配置文件中配置ViewResolver
默认DispatcherServlet会加载WEB-INF/lib下的springmvc-servlet.xml配置文件
<!-- ViewResolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean>
InternalResourceViewResolver:用于支持 Servlet、JSP 视图解析;
viewClass:JstlView 表示 JSP 模板页面需要使用 JSTL 标签库,classpath 中必须包含 jstl 的相关 jar 包;
prefix
和 suffix:查找视图页面的前缀和后缀,比如传进来的逻辑视图名为 hello,则该jsp 视图页面应该存放在“WEB-INF/jsp/hello.jsp”;
3、页面控制器
(1)写controller
public class HelloWorldController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { //1、收集参数、验证参数 //2、绑定参数到命令对象 //3、将命令对象传入业务对象进行业务处理 //4、选择下一个页面 ModelAndView mv = new ModelAndView(); //添加模型数据 可以是任意的POJO对象 mv.addObject("message", "Hello World!"); //设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面,如:WEB-INF/jsp/hello.jsp mv.setViewName("hello"); return mv; } }
org.springframework.web.servlet.mvc.Controller:页面控制器/处理器必须实现Controller接口
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp):功能处理方法,实现相应的功能处理,比如收集参数、验证参数、绑定参数到命令对象、将命令对象传入业务对象进行业务处理、最后返回ModelAndView对象;
ModelAndView:包含了视图要实现的模型数据和逻辑视图名;
“mv.addObject("message",
"Hello World!"); ”表示添加模型数据,此处可以是任意POJO对象“mv.setViewName("hello");”表示设置逻辑视图名为“hello”,
视图解析器 InternalResourceViewResolver 会将其解析为具体的视图“WEB-INF/jsp/hello.jsp”。
(2)把Controller放在Spring IOC容器中管理
<!-- 处理器 --> <bean name="/test1/helloworld" class="cn.tgb.web.controller.HelloWorldController"/>
4、开发视图页面
hello.jsp中添加
<span style="color:#000000;"> <title>Hello World</title> <body> ${message} </body> </span>
5、启动服务器运行调试
http://localhost:8080/springmvc-helloworld/test1/helloworld,如果页面输出为“HelloWorld!”表明成功
通过上面的12345步,相信大家对于SpringMVC入门实例HelloWorld有了一定的了解,接下来的文章将讲述:视图页面和控制器之间是如何传参的?