【叶凡网络】随我们看看怎样创建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将联网身份认证系统