1. 导入jar,多个spring-webmvc-xxx.jar
2. 在web.xml中配置DispatcherServlet生效,拦截指定扩展名类型的请求。
2.1 <load-on-startup>设置自启动
<servlet>
<servlet-name>springmvc123</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc123</servlet-name>
<!-- 统一控制所有请求以.do结尾,否则jsp等内容可能被影响 -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3. 在WEB-INF/[<servlet-name> 的值]-servlet.xml
3.1 <context:....> 扫描Spring注解的
3.2 <mvc:.....>扫描SpringMVC注解的
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 以下是配置 -->
<context:component-scan base-package="com.bjsxt.smallming"></context:component-scan>
<mvc:annotation-driven/>
</beans>
4 编写控制器,Spring推荐控制器所在包叫做controller
4.1 类上添加Controller
4.2 @RequestMapping(value=””)设置控制单元访问名称
@Controller
public class HelloWorldController {
@RequestMapping(value="/show.do")
public String show(){
System.out.println("执行了show方法");
//跳转到哪个页面返回谁
return "index.jsp";
}
}
配置优化
1. 自定义SpringMVC全局配置文件的路径和名称
<servlet> <servlet-name>springmvc123</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> |
2. 控制返回结果的前缀和后缀,在SpringMVC全局配置文件中添加
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 当为了保护jsp,把所有jsp都放入到web-info中时,前缀常用 --> <property name="prefix" value="/WEB-INF/page/"></property> <!-- 注意,并不是每次跳转都是.jsp,如果不能控制每次都是jsp时,value为空 --> <property name="suffix" value=""></property> </bean> |