1、新建一个web工程:
2、在/WebContent/WEB-INF/lib路径下导入要用的jar包
3、在/WebContent/WEB-INF/web.xml下配置该配置文件:
配置servlet:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 指定springmvc配置的加载位置,如果不指定则默认加
载WEB-INF/[DispatcherServlet 的Servlet 名字]-servlet.xml。
-->
<!-- Springmvc默认加载WEB-INF/[前端控制器的名字]-servlet.xml -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!-- 表示servlet随服务启动 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- *.action的请交给DispatcherServlet处理 -->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
4、配置springmvc-servlet.xml(这个配置文件的命名规范为:[前端控制器的名字]-servlet.xml),我的目录是:/src/springmvc-servlet.xml:
分别配置:处理器映射器、处理器适配器、视图解析器
<!-- 处理器映射器 -->
<!-- 根据bean的name进行查找Handler 将action的url配置在bean的name中 -->
<!-- 表示将定义的Bean名字作为请求的url,需要将编写的controller在spring
容器中进行配置,且指定bean的name为请求的url,且必须以.action结尾。 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- 即简单控制器处理适配器,所有实现了org.springframework.web.servlet.mvc.Controller 接口的Bean作为
Springmvc的后端控制器。
-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- ViewResolver -->
<!-- 支持JSP视图解析 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl的相关jar 包 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<!-- 查找视图页面的前缀和后缀,最终视图的址为:
前缀+逻辑视图名+后缀,逻辑视图名需要在controller中返回ModelAndView指定,比如逻辑视图名为hello,则最终返回的jsp视图地址 “WEB-INF/jsp/hello.jsp”
-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- 处理器映射器 -->
<!-- 根据bean的name进行查找Handler 将action的url配置在bean的name中 -->
<!-- 表示将定义的Bean名字作为请求的url,需要将编写的controller在spring
容器中进行配置,且指定bean的name为请求的url,且必须以.action结尾。 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- 即简单控制器处理适配器,所有实现了org.springframework.web.servlet.mvc.Controller 接口的Bean作为
Springmvc的后端控制器。
-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!-- ViewResolver -->
<!-- 支持JSP视图解析 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl的相关jar 包 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<!-- 查找视图页面的前缀和后缀,最终视图的址为:
前缀+逻辑视图名+后缀,逻辑视图名需要在controller中返回ModelAndView指定,比如逻辑视图名为hello,则最终返回的jsp视图地址 “WEB-INF/jsp/hello.jsp”
-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
5、new一个action,我的目录:/src/zlt/helloworldtest/Hello.java
/**
* <p>Title: package-info.java</p>
* <p>Description:测试SpringMVC框架 </p>
* <p>Copyright: Copyright (c) 2017</p>
* <p>Company: www.itcast.cn</p>
* @author 大米时代·周丽同
* @date 2017年6月10日下午5:21:49
* @version 1.0
*/
package zlt.helloworldtest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class Hello implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
//添加模型数据
mv.addObject("message", "Hello World!");
//设置逻辑视图名,最终视图地址=前缀+逻辑视图名+后缀
mv.setViewName("hello");
return mv;
}
}
6、new一个jsp页面,我的目录是:/WebContent/WEB-INF/jsp/hello.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8-1">
<title>springmvc的第一个程序</title>
</head>
<body>
${message}
</body>
</html>
7、在springmvc-servlet.xml配置handler(action):
<!--handler(aciton)-->
<bean name="/hello.action" class="zlt.helloworldtest.Hello"/>
8、启动tomcat,启动成功后,在浏览器输入:http://localhost:8080/zhoulitongSpringMvc1/hello.action
9、效果图:
10、整体目录如下: