ZIPException解决方案(丢包):https://blog.csdn.net/limingjian/article/details/53925001
spring-mvc.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 配置处理映射器 -->
<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 完成请求路径 与 控制器之间的映射关系,以前这个映射关系是在web.xml中使用url-pattern来配置的 -->
<property name="mappings">
<props>
<prop key="login.mvc">loginController</prop>
<!-- <prop key="users/add.mvc">userController</prop>
<prop key="users/update.mvc">userController</prop>
<prop key="users/delete.mvc">userController</prop> -->
<prop key="users.mvc">userController</prop>
</props>
</property>
</bean>
<!-- 配置处理适配器 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- 如果配置的是这个,那么一个表现层类中只能有一个方法,并且要把下面的parameterMethodNameResolver这个配置去掉,下面这个配置和这个配置是一个意思
<bean id="internalPathMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver">
</bean> -->
<!-- 参数方法名称解析器,主要用于配合MultiActionController完成一个控制器,定义多个业务方法 -->
<bean id="parameterMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="methodParamNames">
<array>
<value>add</value>
<value>update</value>
<value>delete</value>
<value>query</value>
</array>
</property>
<property name="logicalMappings">
<props>
<prop key="add">add</prop>
<prop key="update">update</prop>
<prop key="delete">delete</prop>
<prop key="query">query</prop>
</props>
</property>
</bean>
<!-- 配置用到的表现层的控制器 -->
<bean id="userController" class="com.ge.springmvcxml.usermag.UserController">
<property name="methodNameResolver" ref="parameterMethodNameResolver"></property>
</bean>
<bean id="loginController" class="com.ge.springmvcxml.sysmag.controller.LoginController"></bean>
<!-- 配置视图解析器 -->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<!-- 前缀 -->
<property name="prefix" value="/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
web.xml配置:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!-- 配置前端控制器:
1、接收用户的请求,并完成请求的派发
2、实例容器,并且完成配置文件转交给spring容器 -->
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>*.mvc</url-pattern>
</servlet-mapping>
</web-app>
那么在配置了这个之后,我们的表现层就得继承MultiActionController才能使用这个框架
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
@SuppressWarnings("all")
public class UserController extends MultiActionController {
public ModelAndView add(HttpServletRequest req, HttpServletResponse res) {
String userName = req.getParameter("userName");
String password = req.getParameter("password");
System.out.println("add() ------"+userName + password);
ModelAndView mv = new ModelAndView();
mv.setViewName("/layout/main");//此处存放"逻辑视图名"
return mv;
}
public ModelAndView update(HttpServletRequest req, HttpServletResponse res) {
String userName = req.getParameter("userName");
String password = req.getParameter("password");
System.out.println("update() ------"+userName + password);
ModelAndView mv = new ModelAndView();
mv.setViewName("/layout/main");//此处存放"逻辑视图名"
return mv;
}
public ModelAndView delete(HttpServletRequest req, HttpServletResponse res) {
return null;
}
public ModelAndView query(HttpServletRequest req, HttpServletResponse res) {
return null;
}
}