最近开始学习springMVC,网上资源实在太少,刚刚看了两天,看的头都大了,好多的handlerMapping,好多的方法解析策略。经过本博主的不断尝试,感觉找到了最简的模式,只要配置controller就可以了。总体感觉springMVC是比struts2简单多了,只不过映射方式太多(看情况选择),本人菜鸟一枚,望多多指证。
以下为web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springmvc</display-name>
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value><!-- 强制进行转码 -->
</init-param>
</filter>
<servlet>
<servlet-name>dispathcer</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/*-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispathcer</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
controller的定义,注意要继承MultiActionController
package com.springmvc.zhang.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
public class UserController extends MultiActionController{
public ModelAndView add(HttpServletRequest request,HttpServletResponse response){
System.out.println("in user add method");
return null;
}
public ModelAndView list(HttpServletRequest request,HttpServletResponse response){
System.out.println("in user list method");
return null;
}
}
springMVC配置文件的定义(action-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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<!--分析策略,根据url找到和url名字相同的方法-->
<bean id="aResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver"/>
<!--视图解析器-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--控制器的定义,只需要配置这一部分,有必要可将此模块进行分离,写在其它的xml-->
<bean name="/user/*" class="com.springmvc.zhang.controller.UserController">
<property name="methodNameResolver" ref="aResolver"/>
</bean>
<bean name="/login/*" class="com.springmvc.zhang.controller.LoginController">
<property name="methodNameResolver" ref="aResolver"/>
</bean>
</beans>
访问地址,如下所示:
http://localhost:8080/springmvc2/login/add
项目之中没有定义页面,输出信息从端口查看,项目下载地址
http://download.csdn.net/detail/zh_w_h163/6539837