web.xml以其中一个为例
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!--核心控制器的配置 DispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet-myView.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
一 :
MultiActionController配置文件:
<!--处理器映射器 -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/*.do">
<value>multiController</value>
</entry>
</map>
</property>
</bean>
<!--注册Hanlder 处理器-->
<bean id="multiController" class="cn.happy.controller.multiactionController">
</bean>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
继承MultiActionController
public class multiactionController extends MultiActionController {
public ModelAndView doinsert(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView model=new ModelAndView();
model.setViewName("insert");
return model;
}
}
二:
MultiActionController配置文件:(另一种形式)
<!--1-->
<!--处理器适配器-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/*" value="PropertiesmultiController"></entry>
</map>
</property>
</bean>
<!--属性方法名称解析器 http://localhost:8080/first.do-->
<bean id="propertiesMethodResovler" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/first.do">doinsert</prop>
</props>
</property>
</bean>
<!--2-->
<!--参数方法名称解析器 http://localhost:8080/hello.do?actionName=doinsert-->
<!-- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.do">PropertiesmultiController</prop>
</props>
</property>
</bean>
<bean id="paramMethodResovler" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="actionName"></property>
</bean>-->
<!--注册Hanlder 处理器 ref=paramMethodResovler/propertiesMethodResovler-->
<bean id="PropertiesmultiController" class="cn.happy.controller.PropertiesMultiAction">
<property name="methodNameResolver" ref="propertiesMethodResovler"></property>
</bean>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
继承MultiActionController
public class PropertiesMultiAction extends MultiActionController{
public ModelAndView doinsert(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView model=new ModelAndView();
model.setViewName("insert");
return model;
}
}
三:
配置文件一:
<!--1 http://localhost:8080/first.do -->
<!--属性方法名称解析器 http://localhost:8080/first.do-->
<!--<bean id="propertiesMethodResovler" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/first.do">dodelete</prop>
</props>
</property>
</bean>-->
<!--2 http://localhost:8080/hello.do?actionName=doinsert 京东-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/*" value="myViewController"></entry>
</map>
</property>
</bean>
<!--引入视图对象-->
<bean class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="location" value="classpath:myView.xml"></property>
</bean>
<!--视图解析器-->
<bean id="beanNameResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<!--注册Hanlder 处理器 paramMethodResovler/propertiesMethodResovler-->
<bean id="myViewController" class="cn.happy.controller.MyViewResovler">
<property name="methodNameResolver" ref="paramMethodResovler"></property>
</bean>
<bean id="paramMethodResovler" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="actionName"></property>
</bean>
<!--视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
配置文件二:
<!--内部视图:视图对象-->
<bean id="internalResource" class="org.springframework.web.servlet.view.JstlView">
<property name="url" value="/WEB-INF/insert.jsp"></property>
</bean>
<!--外部视图 http://localhost:8080/hello.do?actionName=doinsert-->
<bean id="jd" class="org.springframework.web.servlet.view.RedirectView">
<property name="url" value="https://www.jd.com/"></property>
</bean>
继承MultiActionController
public class MyViewResovler extends MultiActionController{
public ModelAndView doinsert(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView model=new ModelAndView();
model.setViewName("jd");
return model;
}
public ModelAndView dodelete(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
ModelAndView model=new ModelAndView();
model.setViewName("internalResource");
return model;
}
}