在jsp页面中来设置权限,这里用Filter的方式来设置页面权限。下面举的例是一个简单用户登陆注册的例子,所以注册页面和登录页面是用户不用登陆就可以进去查看的。例子如下:
package com.itjob.filter;
import java.io.IOException;
import java.io.PrintWriter;
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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class RightFilter implements Filter {
private static final String LOGIN_URI = "LOGIN_URI";
private static final String REG_URI = "REG_URI";
private String login_page;
private String reg_page;
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
resp.setContentType("text/html;");
resp.setCharacterEncoding("utf-8");
HttpSession session = req.getSession();
PrintWriter out = resp.getWriter();
// 得到用户请求的URI
String request_uri = req.getRequestURI();//="/JSPWork/index.jsp"
// 得到web应用程序的上下文路径
String ctxPath = req.getContextPath();//="/JSPWork"
// 去除上下文路径,得到剩余部分的路径
String uri = request_uri.substring(ctxPath.length());//="index.jsp"
// 判断用户访问的是否是登录页面
if (uri.equals(login_page) || uri.equals(reg_page)){//注册和登录页面不过滤,如果不这么写,什么页面也进入不了
chain.doFilter(request, response);
return;
} else {
// 如果访问的不是登录页面,则判断用户是否已经登录
if (null != session.getAttribute("username")
&& "" != session.getAttribute("username")) {
chain.doFilter(request, response);
return;
} else {
resp.sendRedirect("/JSPWork/login.jsp");
return;
}
}
}
public void init(FilterConfig config) throws ServletException {
// TODO Auto-generated method stub
// 从部署描述符中获取登录页面和首页的URI
login_page = config.getInitParameter(LOGIN_URI);
reg_page = config.getInitParameter(REG_URI);
// System.out.println(logon_page);
if (null == login_page || null == reg_page) {
throw new ServletException("没有找到登录页面或主页");
}
}
}
在web.xml中注意添加以下内容:
<init-param>
<param-name>LOGIN_URI</param-name>
<param-value>/login.jsp</param-value>
</init-param>
<init-param>
<param-name>REG_URI</param-name>
<param-value>/register.jsp</param-value>
</init-param>
分享到:
相关推荐
使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...
本资源提供的代码示例主要展示了如何在JSP中实现对MySQL数据库的数据添加和删除功能,并且在删除操作中加入了权限设置,这对于理解和实践Web应用中的数据管理和安全控制具有很高的参考价值。 首先,我们来看数据...
JSP是一种服务器端脚本语言,用于创建动态网页和Web应用程序,与Java后端无缝集成,为权限管理提供了丰富的功能。 **用户、角色和权限的关系** 在权限管理系统中,用户、角色和权限之间的关系通常遵循以下模式: ...
JSP页面在服务器端执行,然后将结果发送到客户端浏览器。 2. **MVC设计模式**:Model-View-Controller(模型-视图-控制器)是用于构建Web应用程序的常见架构模式。在权限管理系统中,模型处理数据逻辑,视图负责...
3. **权限设置**:权限设置涉及到定义和配置系统中的各种操作权限。这些权限可能包括读取、写入、删除、执行等。管理员可以通过后台管理界面来创建、编辑和删除权限,然后将这些权限赋予不同的用户或用户组。 4. **...
JSP Web权限管理涉及多种技术和策略,从URI拦截到AOP,再到页面级控制,每种方法都有其适用场景和局限性。选择合适的权限管理方案需要综合考虑系统的具体需求、性能要求以及可维护性。通过精心设计和实施,可以构建...
10. **Servlet容器(Servlet Container)**:JSP运行在Servlet容器中,如Tomcat或Jetty,这些容器负责解析JSP页面并执行其中的Java代码。 综上所述,"jsp 权限管理系统"是一个综合运用了JSP、Java、数据库技术以及...
3. 权限管理:定义、修改和删除权限,以及设置角色权限。 4. 登录授权:验证用户登录信息,根据用户的角色分配相应的权限。 六、开发工具与框架: 1. 开发环境:Eclipse、IntelliJ IDEA等Java IDE。 2. 数据库管理...
2. **权限与资源关联**:权限名称与具体的JSP或ACTION页面形成一对多的关系。例如,“新闻编辑”权限可能对应着`News_add.jsp`、`News_del.jsp`、`News.action`等多个页面或操作。 3. **资源访问控制逻辑**: - ...
MyEclipse通常会自动生成Servlet作为控制器,而JSP页面作为视图。 4. **JavaBean**:在JSP中,JavaBean用于封装数据和业务逻辑,它们可以通过JSP的标签库(如JSTL)在页面上进行操作。 5. **权限框架**:可能使用...
在实际项目中,这四个技术的协同工作流程可能是这样的:用户通过JSP页面进行操作,如登录或请求权限信息,这些请求由Struts框架接收并转发到对应的控制器。控制器根据业务逻辑调用Spring管理的Service层,Service层...
系统实现过程中,JSP页面主要用于展示用户界面,处理用户的请求和显示反馈信息。Servlet负责接收和处理HTTP请求,执行业务逻辑,如验证用户身份、检查权限等。JavaBean作为业务对象,封装了数据和方法,如用户对象、...
在JSP权限管理系统中,Filter主要用于检查用户的登录状态,以及权限匹配,确保只有合法用户才能访问特定的JSP页面。 **Filter工作原理:** 当用户发起一个HTTP请求时,Filter链会被触发。每个Filter都有机会检查...
1. JSP页面模板:这是一个使用Java技术开发的Web应用前端模板,用于快速构建服务器端响应的网页。 2. JavaScript验证:模板内置了JS脚本,对用户输入的数据进行实时验证,增强了用户体验和数据安全性。 3. 通用管理...
1. **JSP基础**:JSP页面由静态HTML和嵌入的Java代码组成,通过内置对象(如`page`, `request`, `response`, `session`, `application`等)与服务器进行交互。学习JSP需要掌握如何创建动态内容,使用脚本元素、指令...
在实际开发中,通常会结合使用这些策略,例如,使用Filter进行初步的权限验证,然后在JSP页面中使用EL表达式进行细粒度的控制。例如,创建一个Filter实现用户登录检查,未登录用户无法访问受保护的资源;登录后,将...
在这个项目中,开发者可能使用ODBC来连接和操作数据库,例如MySQL或SQL Server,以存储用户信息和权限设置。 在文件列表中,我们只有一个名为"user2"的条目。这可能是用户管理模块的一部分,可能包含了处理用户注册...
在这个“权限管理系统 jsp项目”中,我们可以深入探讨以下几个关键知识点: 1. **JavaServer Pages (JSP)**:JSP是Java平台上的动态网页技术,它允许开发人员在HTML或XML文档中嵌入Java代码,以实现服务器端的逻辑...
【标题解析】:“jsp新闻系统 权限管理”这一标题表明了我们讨论的主题是一个基于JSP(JavaServer Pages)技术开发的新闻管理系统,该系统具备权限管理功能。JSP是Java编程语言的一种Web开发技术,常用于动态网页的...