1.SpringMVC 环境搭建一
1. 导入Spring的jar和spring-webmvc.jar
2. 配置web.xml,配置SpringMVC的前端控制器,就是一个Servlet
2.1 SpringMVC基于Front设计模式.(今天Servlet就是基于Front的)
2.2 Front设计模式的核心:哪某个内容当作统一入口,分发请求.
2.3 配置办法web.xml
<!-- SpringMVC 前端控制器,入口 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 自启动-在启动tomcat时立即加载对应的Servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3. 在WEB-INF下新建 <servlet-name>-servlet.xml 配置文件,并配置内容
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 告诉SpringMVC的注解在哪里 -->
<context:component-scan base-package="com.mzx.controller"></context:component-scan>
<!-- 配置标签让SpringMVC注解生效,创建注解解析器. -->
<mvc:annotation-driven/>
</beans>
4.配置控制器
4.1 SpringMVC的控制器都是基于方法的,一个方法是一个控制器单元.
|
2.SpringMVC配置办法二
1.主要解决是方法一中 .do 和 配置文件路径及名称问题.
2.配置步骤:
2.1 导入jar包
2.2 在web.xml中配置前端控制器
2.2.1 <init-param>告诉Servlet分发器SpringMVC配置文件在哪里
2.2.2 <url-pattern>/</url-pattern>除了JSP放行,其他全按照名称去找@RequestMapping()
<!-- SpringMVC 前端控制器,入口 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 自启动-在启动tomcat时立即加载对应的Servlet -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc123</servlet-name>
<!-- 只能放行jsp -->
<url-pattern>/</url-pattern>
</servlet-mapping>
2.3 在src下新建springmvc.xml并配置
2.3.1 <mvc:resources/>告诉SpringMVC当请求中出现什么样格式的请求时,去哪里找对应的资源.(通俗说:配置放行静 态资源)
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 告诉SpringMVC的注解在哪里 --> <context:component-scan base-package="com.mzx.controller"></context:component-scan> <!-- 配置标签让SpringMVC注解生效,创建注解解析器. --> <mvc:annotation-driven/> <!-- 如果碰见请求中/js/xx格式请求,去location配置的/js中去寻找, --> <!-- 如果没有配置mvc:resources去寻找@requestmappingg --> <mvc:resources location="/js/" mapping="/js/**"></mvc:resources> <mvc:resources location="/images/" mapping="/images/**"></mvc:resources> <mvc:resources location="/css/" mapping="/css/**"></mvc:resources> </beans> |
2.4 配置控制器
@Controller
public class DemoController {
@RequestMapping("show")
public String show(){
System.out.println("执行了show-第二种方式");
return "index.jsp";
}
}
3.关于在web.xml中<url-pattern>中配置/和/*的区别
3.1 / 表示除了jsp全拦截, /* 拦截全部
3.2 如果配置/*,出现jsp无法访问
3.2.1 在springmvc配置文件中通过<mvc:resources/>把jsp当作静态资源
3.2.2 会出现jsp源码被直接发送给浏览器客户端.中间没有tomcat解析编译的过程
3.2.3 所以认为/*的配置办法是错误
木子璇总结时刻:欢迎小伙伴们提出建议哦,如有错误,望大神指出哦,谢谢啦。