本文实例讲述了JSP学习之Java Web中的安全控制。分享给大家供大家参考。具体如下:
一、目标:
① 掌握登录之后的一般处理过程;
② 能够为每个页面添加安全控制;
③ 能够共享验证代码;
④ 使用过滤器对权限进行验证;
⑤ 能够对文件的局部内容进行验证;
⑥ 掌握安全验证码的基本实现方式;
⑦ 通过异常处理增强安全性。
二、主要内容:
① 通过修改前面的登录功能,分别对管理员和普通用户的登录进行处理;
② 为管理员才能访问的页面添加控制;
③ 共享各个页面中的控制代码,使用专门的文件,然后在需要的时候调用;
④ 使用过滤器降低重复验证代码;
⑤ 通过标准标签库完成页面局部信息的安全控制;
⑥ 介绍安全验证码的基本实现方式;
1、完善登录功能
正常情况下,管理员登录成功之后跳转到管理员默认工作界面;普通用户登录之后跳转到普通用户默认工作界面;用户登录失败后跳转到登录界面重新登录。
为了完成这个功能,需要编写管理员界面和普通用户界面。
管理员界面对应的文件为manager.jsp,代码如下:
manager.jsp代码:
普通用户界面对应的文件为commonuser.jsp,代码如下:
commonuser.jsp代码:
修改登录的Servlet,修改后的代码如下:
LoginProcess.java代码:
- package servlet;
- import javabean.User;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.RequestDispatcher;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- public class LoginProcess extends HttpServlet {
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doPost(request,response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- // 获取信息
- String username = request.getParameter("username");
- String userpass = request.getParameter("userpass");
- // 调用JavaBean
- User user = new User();
- user = user.findUserByName(username);
- String forward;
- if(user==null){
- forward="failure.jsp";
- }else if(user.getUserpass().equals(userpass)){
- if(user.getUsertype().equals("1")){
- forward="manager.jsp";
- }
- else{
- forward="commonuser.jsp";
- }
- }else{
- forward="failure.jsp";
- }
- RequestDispatcher rd = request.getRequestDispatcher(forward);
- rd.forward(request,response);
- }
- }
新闻热点
疑难解答