JSP中filter过滤器验证用户登录
JSP中filter过滤器验证用户登录
现在JSP使用越来越广泛了,尤其是很多政府的网站都采用了JSP技术,其功能强大且安全。
初学者很多有这么个问题,就是,网站的一个权限设置,比如登录用户可以查看哪些页面,而游客又有权限可以看哪些内容呢?
JSP是强大的,但其代码还是相对繁琐的,其实用一个过滤器(filter)就可以实现这个功能了。
以下为UserFilte的代码:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import User;
import UserDAO;
import SessionUtils;
public class UserFilter implements Filter
{
String nofilter;
String nofilterFiles[];
String sendRedirect;
public void destroy()
{
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException
{
HttpServletRequest request=(HttpServletRequest)req;
HttpServletResponse response=(HttpServletResponse)res;
&
相关文档:
Servlet:
在Servlet中,跳转在doGet或者doPost方法中实现。
<1>redirect实现页面跳转:
response.sendRedirect("/login.jsp");
方法的参数是相对路径,设定这个参数可以使页面跳转到任何页面,包括www.baidu.com等网络页面。
跳转后你可以发现地址栏发生了变化。
底层原理:使用redir ......
·pageContext:提供对页面属性的访问。
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
pageContext.setAttribute("basePath",basePath);
%>
使用:
${pageScope}
·reques ......
以下属个人想法!也许是对JAVA一见钟情而说!
学过ASP.NET的再去学JSP,那感觉就完全不一样了啊!如果过渡过来了,那还好,没过渡那叫惨啊!两个世界啊!还好;我是渡过了,一心就是JAVA,所以脑子里都是JAVA的理念,开发JSP和开发JAVA应用程序一样,无非JSP多了个WEBROOT。
  ......
pageEncoding
在JSP标准的语法中,如果pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1。
ContentType
ContentType属性指定了MIME类型和JSP页面回应时的字符编码方式。MIME类型的 ......