一 单独的spring配置实例
1. 在web.xml当中配置dispacherServlet来使用spring转发
<servlet>
<servlet-name>springDispacher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispacher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
2. 在applicationContext.xml当中配置测试的bean
<bean id="test" class="com.unews.test.Test"></bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/test/*">test</prop>
</props>
</property>
</bean>
3. Test的源码
package com.unews.test;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;;
public class Test extends MultiActionController{
public ModelAndView test(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println("sssss");
return null;
}
}
如果继承的是MultiActionController,那么在请求的时候可以用如...test.do?type=test来执行text()函数。但是MultiActionController不能和form集成起来。如果是SimpleFormController则可以和form集成,但是不能用type这样的方式来请求。
通过启动tomcat然后请求http://localhost:8080/unews/test/test.do ,则可执行test()函数。
注意配置<prop key="/test.do">test</prop>的时候test.do要与函数名称一致,如果函数名称是其它如test1 那么就要将这里改成test1.do。这样,如果Test类当中有两个函数test1(),test2(),那么配置如下:
<props>
<prop key="/test/*">test</prop>
</props>
http://localhost:8080/unews/test/test1.do与http://localhost:8080/unews/test/test2.do即可请求两个不同的方法
二 与hibernate集成
1. 与上面的第一步一样
2. 得在springContext.xml当中加上sessionFactory的配置
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>