1、Action基类
@Controller
public class BaseAction {
private HttpServletRequest request;
private HttpServletResponse response;
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
/**
* 利用指定的Response对象向网页输出内容
* @param value
*/
public void outputResponse(String value){
try {
PrintWriter out= response.getWriter();
out.write(value);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 向页面输出内容
* @param encoding 编码
* @param contentType 格式
* @param value 内容
* @throws SystemException
*/
public void outputResponse(String encoding,String contentType,String value){
try {
response.setCharacterEncoding(encoding);
response.setContentType(contentType);
PrintWriter out= response.getWriter();
out.write(value);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2、Spring MVC拦截器
@Component("springMVCInterceptor")
public class SpringMVCInterceptor extends HandlerInterceptorAdapter {
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
// 获得当前父类的class
Class baseActionClass = BaseAction.class;
// 获得当前action的class
Class newClass = Class.forName(handler.getClass().getName())
.newInstance().getClass();
// 判断是否有父子关系
if (baseActionClass.isAssignableFrom(newClass)) {
//注入request、response对象
BaseAction ba = (BaseAction) handler;
ba.setRequest(request);
ba.setResponse(response);
}
return super.preHandle(request, response, handler);
}
}
3、拦截器配置
<!-- baseAction通过拦截注入request、response对象 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="springMVCInterceptor" />
</list>
</property>
</bean>
<mvc:interceptors>
<bean id="springMVCInterceptor" class="com.netsdar.zm.action.SpringMVCInterceptor">
</bean>
</mvc:interceptors>
<!-- baseAction通过拦截注入request、response对象 -->
分享到:
相关推荐
spring bean 的作用域(scope), SPringle bean的作用域
Spring开发指南,详细描述了Springle的开发过程,对学习JAVA有很大帮助
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。