-
jar包
spring-aop.jar
spring-core.jar
spring-context.jar
spring-beans.jar
spring-web.jarspring-webmvc.jar
-
第一个SpringMVC程序
SpringMVC------Servletjsp–>Servlet(Springmvc)–>jsp
-
springmvc的配置文件:springmvc.xml
常用的命名空间:beans 、 aop 、context 、mvc -
普通的Servlet流程:
请求-url-pattern-交给对应的Servlet去处理 -
把请求交给springmvc处理:
需要配置一个Springmvc自带的servlet
配置:
通过以下配置,把所有请求,交给springmvc处理
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--
如果想省略<init-param>配置,就必须
把该xml文件改名为 servlet的name的值-servlet.xml 并放到 默认路径:
/WEN-INF/servlet的name的值-servlet.xml
-->
<init-param>
<!--告诉程序,MVC配置文件在哪-->
<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>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
其中:<url-pattern>/</url-pattern>
/:一切请求,注意不是 /* 。
/user:拦截以/user开头的请求
/user/abc.do:只拦截该请求
/.action:只拦截.action结尾的请求
要想项目中兼容springMVC和Servlet:
配置如:
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>.action</url-pattern>
</servlet-mapping>
这样springMVC就只会拦截以.action结尾的请求
- 映射是 去匹配@RequestMapping注解,可以和方法名、类名不一致。
通过method指定请求方式(get、post、delete、put)
@Controller
public class SpringMVCServlet {
@RequestMapping(value="abc/welcome",method=RequestMethod.GET,
params={"name2=zs","age!=23","!height"}
)//映射
public String welcome() {
return "success";//默认使用请求转发的跳转方式
}
}
params={“name2=zs”,“age!=23”,“!height”}
name2:必须有name2="zs"参数
age!=23: 1.如果有请求参数name=“age”,则age的值不能是23。 2.没有age(age没有值)
!height:不能有name=“height”
也可以设置限定请求头信息。
ant风格的请求路径:
?代表单字符
*代表任意个字符(0个或多个)
** 代表任意目录
@RequestMapping(value="welcome/**/test")
接受示例:a href="welcome/abc/ssg/wet/test"