当前位置: 首页 > news >正文

珊瑚绒毯移动网站建设昆明网站建设解决方案

珊瑚绒毯移动网站建设,昆明网站建设解决方案,佛山中小企业网站制作,网络营销推广技术分析刚刚有个朋友问我#xff0c;Servlet的过滤器有什么作用#xff1f; 现在发个帖子说明一下#xff0c; 过滤器是一个对象#xff0c;可以传输请求或修改响应。它可以在请求到达Servlet/JSP之前对其进行预处理#xff0c;而且能够在响应离开Servlet /JSP之后对其…刚刚有个朋友问我Servlet的过滤器有什么作用 现在发个帖子说明一下            过滤器是一个对象可以传输请求或修改响应。它可以在请求到达Servlet/JSP之前对其进行预处理而且能够在响应离开Servlet /JSP之后对其进行后处理。所以如果你有几个Servlet/JSP需要执行同样的数据转换或页面处理的话你就可以写一个过滤器类然后在部署描述文 件web.xml中把该过滤器与对应的Servlet/JSP联系起来。你可以一个过滤器以作用于一个或一组servlet零个或多个过滤器能过滤 一个或多个servlet。          一个过滤器实现java.servlet.Filter接口并定义它的三个方法     1 void init(FilterConfig config) throws ServletException:在过滤器执行service前被调用以设置过滤器的配置对象。     2 void destroy();在过滤器执行service后被调用。     3 Void doFilter(ServletRequest req,ServletResponse res,FilterChain chain) throws IOException,ServletException;        可能这么说大家还是不太理解。举个例子来说面向对象语言的特征里有个接口的概念一个类实现该接口就必须要实现接口的所有方法。那么如果我写了一个类实现这个接口又不想实现所有方法怎么办呢       写个抽象类实现这个接口的所有方法然后我写的类继承这个抽象类。就可以不用实现所有方法了。看到这里大家都懂了过滤器是干什么的吧              既然懂了那就直接上代码说明一下怎么配置的。 开发EncodingFilter.java文件继承自javax.servlet.Filter package bluemoon.crm.systemmanage.struts.Filter;import java.io.*; import javax.servlet.*;public class EncodingFilter implements Filter { protected String encoding null; protected FilterConfig config;public void init(FilterConfig filterConfig) throws ServletException { this.config filterConfig; //从web.xml配置文件中获取编码配置 this.encoding filterConfig.getInitParameter(Encoding); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if(request.getCharacterEncoding() null) { String encode getEncoding(); if(encode ! null) { //设置request的编码方式 request.setCharacterEncoding(encode); } } chain.doFilter(request,response); } public String getEncoding() { return encoding; } public void destroy() {} } 在web.xml文件中加入如下配置信息 !-- 页面请求编码过滤器 注意每个页面的pageEncodingGB2312 -- filterfilter-nameencodingFilter/filter-namefilter-classbluemoon.crm.systemmanage.struts.Filter.EncodingFilter/filter-classinit-paramparam-nameEncoding/param-nameparam-valueGB2312/param-value/init-param /filter filter-mappingfilter-nameencodingFilter/filter-name!-- 对全部的jsp页面有效比较郁闷的是没有太多的配置方式 --url-pattern/*/url-pattern /filter-mapping 用户是否登陆过滤器 1首先增加一个Action、ActionForm JSP: login.jsp中为一个登陆表单 UserActionForm.java为一个Struts的ActionForm。 UserAction.java将用户登陆信息添加到session中。 开发UserLoginedFilter.java package bluemoon.crm.systemmanage.struts.Filter;import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.*;import bluemoon.crm.systemmanage.struts.forms.UserActionForm;public class UserLoginedFilter extends HttpServlet implements Filter { protected FilterConfig config;public void init(FilterConfig filterConfig) throws ServletException { this.config filterConfig; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { RequestDispatcher dispatcher request.getRequestDispatcher(userLogin.jsp); HttpServletRequest userRequest (HttpServletRequest)request; UserActionForm userActionForm (UserActionForm)userRequest.getSession().getAttribute(userActionForm); if(userActionForm null || userActionForm.getUser_name() null || userActionForm.getUser_name().trim().length()1) { System.out.println(用户未登录!); dispatcher.forward(request,response); return; } System.out.println(用户已登录!); chain.doFilter(request,response); } public void destroy() { } }在web.xml文件中添加如下配置信息 !—用户是否登陆过滤器配置 注意只过虑jsp页面不过虑.do -- filter filter-nameuserLoginedFilter/filter-name filter-classbluemoon.crm.systemmanage.struts.Filter.UserLoginedFilter/filter-class /filter filter-mapping filter-nameuserLoginedFilter/filter-name url-pattern*.jsp/url-pattern /filter-mapping !—用户是否登陆过滤器配置结束 -- 用户是否登陆过滤器在多模块中的应用 1.修改上面的过滤器代码 package bluemoon.crm.systemmanage.filter;import java.io.IOException;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.*;import bluemoon.crm.systemmanage.struts.forms.UserForm;//用户未登陆过滤器 public class UserNoLoginedFilter extends HttpServlet implements Filter {protected FilterConfig config;public void init(FilterConfig filterConfig) throws ServletException { this.config filterConfig; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //首先预定义到要转向的页面由此带来的问题就是userLogin.jsp页面的图片必须要使用绝对路径方法见userLogin.jsp页面 RequestDispatcher dispatcher request.getRequestDispatcher(/toLogin.do?prefixpage/userLogin.jsp); //注意在struts-config.xml中增加一个Action如下 /* *action * attributeuserForm * nameuserForm * path/toLogin * scoperequest * typeorg.apache.struts.actions.SwitchAction / */ // 从session中获取用户form HttpServletRequest userRequest (HttpServletRequest)request; UserForm userForm (UserForm)userRequest.getSession().getAttribute(userForm);//如果未登陆则没有userFrom信息 if(userForm null || userForm.getUser_name() null || userForm.getUser_name().trim().length()1) { System.out.println(用户未登录!);//分发到登陆页面 dispatcher.forward(request,response); //((HttpServletResponse)response).sendRedirect(toModule.do?prefixpage/userLogin.jsp); return; }System.out.println(用户userForm.getUser_name()已登录!); chain.doFilter(request,response); } public void destroy() {} } 注版权所有未经本人同意不得转载转载于:https://www.cnblogs.com/A0926/p/5529661.html
http://www.pierceye.com/news/870584/

相关文章:

  • 餐饮网站方案wordpress 微论坛主题
  • 上海建筑网站设计多用户商城数据库设计
  • 网站做301将重定向到新域名深圳seo优化外包公司
  • 做视频导航网站有哪些天津西青区离哪个火车站近
  • 福州网站建设技术支持公司培训课程有哪些
  • 保定网站制作域名注册商查询
  • 医院网站建设公司价格低天津建设工程信息网 塘沽一中
  • 建设机械网站案例建国外网站需要多少钱
  • 比特币简易网站开发电商网站大全
  • 秀屿区建设局网站巨量广告投放平台
  • 合肥网站设计哪家公司好北京国贸网站建设公司
  • 帮人做网站怎么收费制作链接的app的软件有哪些
  • 商贸行业网站建设公司yoast wordpress seo
  • 上小学网站建设WordPress底部添加运行时间
  • 学校网站信息化建设工作心得网络营销现状分析
  • 藁城专业网站建设班级同学录网站建设
  • 北京手机网站开发公司wordpress用户列表
  • 上海 企业网站制成都营销型网站建设熊掌号
  • 无锡网站优化哪家好北京注册公司地址可以是住宅吗
  • 中国十大热门网站深圳哪做网站
  • 木渎网站建设聚美优品网站建设情况
  • 企业形象网站用什么语言开发网站优化要做哪些工作
  • 中国建设银行官网站电话号码wordpress关键词排名
  • 南通网站建设机构博物馆网站建设的根本意义
  • 食品企业网站建设中信建设有限责任公司陈晓佳
  • 中国网站服务器哪个好店名注册查询
  • 网站设计制作案例软件定制开发的发展前景
  • 中国联通网站备案小程序是什么原理
  • 企业网站建设御彩云dz做电影网站
  • 做网站需要的东西网站改版是什么