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连接Oracle8/8i/9i数据库(用thin模式)
testoracle.jsp如下:
< %@ page contentType= "text/html;charset=gb2312 "% >
< %@ page import= "java.sql.* "% >
< html >
< ......
系统环境:Linux 5.0 AS 64位
步骤:
1、下载apache-tomcat-5.5.23.tar和jdk-1_5_0_12-linux-i586.bin并存放在/usr/local文件夹下;
2、安装jdk
[root@localhost local]#chmod 775 jdk-1_5_0_12-linux-i586.bin '非必须,要是直接运行时提示权限不够时改变权限;
[root@localhost local]#./jd ......
在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
这段时间在做IP统计的程序设计,由于服务器作了 ......
在Java web开发中常会使用到功能强大的过滤器,他毕竟能给我们带来很大的方便,但是针对过滤的资源我们需要详细的了解他们在web.xml中的配置信息。这个根据几种常用的不同情况进行了总结:
1。如果要映射过滤应用程序中所有资源:
<filter>
<filter-name>loggerfilter</filter-name>
<f ......
Servlet:
当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。
一、原理
1) redirect 方式
response.sendRedirect("/a.jsp");
页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:
response.sendRedirect("http://www.ycul ......