【叶凡网络】随我们看看怎样创建Servlet过滤器的向导

2014-01-14 10:24:23 | 新闻来源:叶凡网络 | 点击量:559

可以把这个操作抽取到一个Servlet过滤器中,过滤器可以在请求到达JSP或Servlet之前或响应返回客户端之前添加一些额外的操作。如果有多个JSP页面和Servlet都需要进行一个相同或相似的操作。并通过匹配路径截获感兴趣JSP或Servlet

可以通过Servlet过滤器在响应返回到客户端前给网页添加上统一的标题和脚注。有些网页需要添加统一的标题头或脚注。

这是因为基于JavaWeb应用顺序可能运行于不同的Web应用顺序器、操作系统平台或硬件服务器上,乱码问题困扰了不少的Web应用顺序开发者。不同的环境有自己默认的编码类型,数据的转换过程中不同的默认编码是乱码问题的始作俑者,所以在开发JSP时常常需要将数据进行编码转换。可以创建一个Servlet过滤器在请求进入服务顺序前都进行编码转换。

一般都会将用户信息对象放入到session中,登录系统后。可以通过Servlet过滤器在请求进入JSP或Servlet前判断session中是否有用户信息对象,如果有,则说明用户已经登录,如果没有,则说明用户还没有登录,将请求重定向到登录页面。

开发这个Servlet本节所提供的Servlet过滤器就是为了实现平安控制。这步里指定过滤器的类名和包名。Classname中输入LoginCheckFilt包名依就为bookstore.Servlet按Next下一步。和创建标准的Servlet相似。

按Finish创建此过滤器。并录入粗体所示的代码,打开向导创立的LoginCheckFilter.java文件。如下所示:

packagbookstore.servlet; 

publicclassLoginCheckFilter 

extendHttpServletimplementFilter 

ServletResponspublicvoiddoFiltServletRequestrequest.

FilterChainfilterChain response.

try 

//进行请求和响应的类型转换 

HttpServletRequesthttpRequest=HttpServletRequestrequest; 

HttpServletResponshttpRespons=HttpServletResponsresponse; 

booleanisValid=true; 

StringuriStr=httpRequest.getRequestURI.toUpperCas; 

ifuriStr.indexOf"LOGIN.JSP"==-1&& 

uriStr.indexOf"SWITCH.JSP"==-1&& 

httpRequest.getSess.getA ttribut"ses_userBean"==null 

isValid=false; 

ifisValid 

respons; filterChain.doFiltrequest.

}else 

httpResponse.sendRedirect"/webModule/login.jsp"; 

}catchServletExceptsx 

filterConfig.getServletContext.logsx.getMessag; 

}catchIOExceptioniox 

filterConfig.getServletContext.logiox.getMessag; 

 

 

上一篇:【叶凡网络】安倍扰乱美国策略 ,美日同盟反华色彩明显 下一篇:【叶凡网络】用虚假的身份无法购票12306将联网身份认证系统