有关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有了一定的了解,接下来的文章将讲述:视图页面和控制器之间是如何传参的?