自己写的,当做笔记用的,
SpringMvc:
SpringMvc其实就是Servlet封装而成的,所以用的时候跟servlet相似,都需要在Web.xml配置servlet,配置代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>//这是路径SpringMVC封装的Servlet路径
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC-servlet.xml</param-value>//这一步是加载servlet的Mvc核心文件的.跳转路径的请求,
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern> //拦截所有以.do结尾的请求.
</servlet-mapping>
</web-app>
这一步跟servlet相似
然后再写一个springMVC-servlet.xml:
<?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:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
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-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- <bean name="/index.do" class="springmvc.IndexContorller"></bean> -->//这一步是Jsp页面里如果有index.do的请求的时候,会跳到class="springmvc.IndexContorller",这个跟Servlet的请求相类似. Servlet: action="springmvc.IndexContorller" href="springmvc.IndexContorller"
<!-- <bean name="MainContorller" class="springmvc.MainContorller"/>//这一步是多个请求到一个类里面,先配置好类MainContorller的路径
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">//然后适配器会自动加载这里路径
<property name="mappings"> //然后配置需要跳转的请求
<props>
<prop key="/main1.do">MainContorller</prop>//点击main1.do的时候会跳到MainContorller,上面已经配置好MainContorller对应的路径了,所以会自动跳过去
<prop key="/main2.do">MainContorller</prop>//点击main2.do的时候会跳到MainContorller,上面已经配置好MainContorller对应的路径了,所以会自动跳过去
<prop key="/main3.do">MainContorller</prop>//点击main3.do的时候会跳到MainContorller,上面已经配置好MainContorller对应的路径了,所以会自动跳过去
</props>
</property>
</bean> -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" >
<property name="messageConverters">
<list>
<!-- <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> //这个是解决response乱码
--> <bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=utf-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<context:component-scan base-package="springmvc"/>//这个是自动扫描并自动装配请求地址 先把需要用到的类前面加上@Controller 这一步跟加@component差不多 也就是把上面的<bean name="MainContorller" class="springmvc.MainContorller"/>这句话代替了,自动把这个类已经加载到Spring容器了,
//然后再需要实现的方法前面加上@RequestMapping(value="v_add.do",method=RequestMethod.GET)也就是把<prop key="/main1.do">MainContorller</prop>这句话代替了
<mvc:annotation-driven />
</beans>