SpringMVC及拦截器基本配置
导包就不记了。
web.xml:
<!-- Spring MVC 核心控制器 通过此DispatcherServlet分发到各逻辑单元--> <servlet> <servlet-name>coreAction</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!-- <init-param>节点中配置了名为“contextConfigLocation”的 Servlet参数,此参数指定了Spring配置文件的位置“/WEB-INF/Config.xml”。 如果忽略此设定,则默认为“/WEB-INF/<servlet name>-servlet.xml”,其 中<servlet name>以Servlet 名替换(在当前环境下,默认值也就是 /WEB-INF/Dispatcher-servlet.xml) <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/Config.xml</param-value> </init-param> --> <filter> <filter-name>encodingFilter</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </filter> <servlet-mapping> <servlet-name>coreAction</servlet-name> <url-pattern>*.kara</url-pattern> <url-pattern>*.do</url-pattern> </servlet-mapping>
接着是spring配置,由于是没在web.xml手动配置指定哪个spring配置文件,所以指向的是配置文件名是:coreAction-servlet.xml。
<!-- 视图 --> <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> <!-- Mapping --> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/login.do">loginAction</prop> <prop key="toAddUser.kara">userAction</prop> <prop key="addUser.kara">userAction</prop> </props> </property> <!-- 注册拦截器 --> <property name="interceptors"> <list> <ref bean="myInterceptor"></ref> </list> </property> </bean> <!-- Controller --> <bean id="loginAction" class="com.biz.LoginAction"></bean> <bean id="userAction" class="com.biz.UserAction"></bean> <!-- 拦截器 --> <bean id="myInterceptor" class="com.intercept.MyInterceptor"></bean>
贴一个controller:
package com.biz; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; /** * @author Administrator * 实现单个方法的controller */ public class LoginAction implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setAttribute("kara", "Hello!Kara!"); return new ModelAndView("hello"); } }
贴上拦截器:
package com.intercept; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class MyInterceptor extends HandlerInterceptorAdapter{ public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { // TODO Auto-generated method stub System.out.println("回调执行"); } public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub System.out.println("调用controller后进入"); } public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("拦截开始:"); System.out.println("***"); System.out.println("&&&:"+arg2.getClass().getCanonicalName()); System.out.println(arg2.getClass().getSimpleName()); return false; } }
相关推荐
yupi0 2020-10-10
spring 2020-08-18
编程点滴 2020-07-29
幸运小侯子 2020-07-05
itjavashuai 2020-07-04
qingjiuquan 2020-06-29
shushan 2020-06-25
小鱿鱼 2020-06-22
咻pur慢 2020-06-18
melonjj 2020-06-17
qingjiuquan 2020-06-13
neweastsun 2020-06-05
小鱿鱼 2020-06-05
mxcsdn 2020-05-31
吾日五省我身 2020-05-27
牧场SZShepherd 2020-05-27
sweetgirl0 2020-05-14