易截截图软件、单文件、免安装、纯绿色、仅160KB

JSP过滤器权限


今天下午,临下课的时候有个学生问了个关于过滤器的使用的问题,也不知道她从搞想到的,估计也是网上哪位达人的演示,她说原来那个功能有些局限,自己扩张了一下,但老是达不到效果。于是就来找我了。
她的需求如下:
1、目标:限制登录用户的访问页面,根据不同的权限可以查询相应的页面。
2、场景:已有三个用户admin、normal1、normal2,其中normal1只能访问page/jsp1下的页面,normal2只能访问page/jsp2下的页面;
根据她的描述,我打开她的代码一看,一个字“乱”,两个字“很乱”,完全看不到任何逻辑在里面,于是凭着经验大刀阔斧的给它来个修正,修正代码如下:
Java代码
if (session.getAttribute("user") != null) {   
    if(((UserInfo)session.getAttribute("user")).getName().equals("normal1") && !uri.startsWith("/page/jsp1")){   
        request.getRequestDispatcher("/page/jsp1/normal1.jsp").forward(request, response);   
    }   
    if(((UserInfo)session.getAttribute("user")).getName().equals("normal2") && !uri.startsWith("/page/jsp2")){   
        request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);   
    }   
}else{   
    if(!(uri.endsWith("result.jsp") || !uri.endsWith("index.jsp"))){   
        request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);   
    }   
}  
if (session.getAttribute("user") != null) {
if(((UserInfo)session.getAttribute("user")).getName().equals("normal1") && !uri.startsWith("/page/jsp1")){
request.getRequestDispatcher("/page/jsp1/normal1.jsp").forward(request, response);
}
if(((UserInfo)session.getAttribute("user")).getName().equals("normal2") &&am


相关文档:

jsp页面乱码问题

分两种:
Get方式传递数据解决办法:
<%
String username = request.getParameter("username");
byte[] bytes = username.getBytes("iso-8859-1");
String result = new String(bytes, "gb2312");
out.print(result);
%>
Post方式解决办法:request.setCharacterEncoding("gb2312");
......

JSP分页2

使用diasplaytag组件。
使用mysql5, 有个数据表user,字段有id, username, password。
使用displaytag需导入displaytag-1.1.jar,和
commons-logging
commons-lang
commons-collections
commons-beanutils
log4j
itext (optional, for pdf/rtf export)
然后在JSP页面中放入<%@ taglib uri="http://display ......

Servlet和jsp的几种跳转

Servlet: 
当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。 
一、原理 
1) redirect 方式 
response.sendRedirect("/a.jsp"); 
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: 
response.sendRedirect("http://www.ycul ......

总结 JSP与 servlet之间的传值

这几天做了一个项目,大量用到了JSP与 servlet之间的传值,所以总结了一下
JSP与 servlet之间的传值有两种情况:JSP -> servlet, servlet -> JSP。
通过对象 request和 session (不考虑 application)完成传值。
一、JSP -> servlet
JSP页面有3种方法向 servlet传值: form表单、URL 、其他
<!--&nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号