一 单独的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>
?