- ParameterMethodNameResolver
- InternalPathMethodNameResolver
- PropertiesMethodNameResolver
定义一个Controller继承与MultiActionController
package cn.iwoo.server.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 BController extends MultiActionController {
public ModelAndView doSearch(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println(this.getClass() + "." + "doSearch()");
return new ModelAndView("");
}
}
方法的定义必须符合下面的格式
Java代码
public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response);
定义ViewResolver
Java代码
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
<property name="prefix"><value>/WEB-INF/jsp/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
定义UrlHandlerMapping
<bean id="urlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<entry key="/b/*"><ref bean="bController"></ref></entry>
</map>
</property>
</bean>
定义MethodNameResolver
一共定义了3个不同类型的MethodNameResolver.
<!-- MethodNameResolver Definition -->
<bean id="bMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="method"></property>
<property name="logicalMappings">
<props>
<prop key="doSearch">doSearch</prop>
</props>
</property>
</bean>
<bean id="cMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver">
</bean>
<bean id="dMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<value>
/b/page.html=doSearch
</value>
</property>
</bean>
定义Controller
<!-- Controller Definition -->
<bean id="bController" class="cn.iwoo.server.controller.BController">
<!-- <property name="methodNameResolver"><ref local="bMethodNameResolver"/></property> -->
<!-- <property name="methodNameResolver"><ref local="cMethodNameResolver"/></property> -->
<property name="methodNameResolver"><ref local="dMethodNameResolver"/></property>
</bean>
测试
下面是对应于不同MethodNameResolver的测试url.
http://localhost:9080/cn.iwoo/spring/b?method=doSearch
http://localhost:9080/cn.iwoo/spring/b/doSearch
http://localhost:9080/cn.iwoo/spring/b/page.html
注:/b/是我的controller的映射前缀,在PropertiesMethodNameResolver的mappings配置里面,网址必须是/b/开头,也就是controller的前缀也需要写进去. 这是我测试的结果,不知是否必须这样.
分享到:
相关推荐
spring mvc MultiActionController配置方法源码,可以部署到tomcat中访问
12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...
12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...
12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...
12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...
4 使用MultiActionController 5 所有service利用spring注入到controller中,利用注解 6 数据库连接串单独在properties文件配置 7 在spring中配置数据源,属性使用properties文件中的配置 8 利用JdbcTemplate操作...
6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 ...
6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的...
配置diapatcher servlet,和在application中配置请求转发mapping来处理请求,到某个controoler, cotroller继承MultiActionController,不用写dopost doget方法,直接在controller中写方法,方法名称来源于请求带过来...
6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 ...
6.7. 以编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 ...
6.7. 以编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 ...