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;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值