servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写)
来源:互联网 发布:画梁图软件 编辑:程序博客网 时间:2024/05/21 05:55
实现“防止未登录访问”的方法有很多,下面简单介绍一二。
第一种方法:可以在每个需要进行权限验证的界面包含一个验证文件,check.jsp。
check.jsp代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>权限验证界面</title></head><body><center> <% String LoginPast=(String)session.getAttribute("username"); if(LoginPast.equals(null)) %> <script type="text/javascript"> alert("请先登录再进行操作"); </script> <% response.setHeader("Refresh", "1;URL=Login.jsp");//1代表1秒后页面将跳转到Login.jsp界面(就是登陆界面) %></center></body></html>第二种方法:当然是使用Struts2的核心Filter过滤器,判断session里面是否含有用户名,如果没有,将页面跳转到登陆界面。话不多说,直接上代码。Login.jsp代码如下:<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>servlet实现简单登陆功能</title><script type="text/javascript"> function check_legal(form){ if(form.username.value==""){ alert("用户名不能为空!"); return false; } if(form.password.value==""){ alert("密码不能为空!"); return false; } } </script></head><body><div class="wrapper"> <div class="container"> <h1>登陆界面</h1> <form action="Login" method="post" onsubmit="return check_legal(this)"> <input type="text" name="username" placeholder="用户名"> <input type="password" name="password" placeholder="密码"> <button type="submit">登陆</button> </form> </div></div></body></html>web.xml配置文件如下:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>Login</servlet-name> <servlet-class>com.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <filter> <filter-name>LoginFilter</filter-name> <filter-class>com.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/main/*</url-pattern> <!--在web下新建一个main文件夹,里面用来存放需要进行权限验证的界面,登陆界面或者注册界面不要放在此文件夹下,这样就能实现不对登陆界面和注册界面进行验证--> </filter-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list></web-app>LoginFilter.java 代码如下:package com.filter;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.Filter;import javax.servlet.FilterChain;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 LoginFilter implements Filter{ public void init(FilterConfig arg0) throws ServletException{} public void destroy(){} public void doFilter(ServletRequest request,ServletResponse response, FilterChain chain)throws IOException,ServletException{ HttpServletRequest httprequest = (HttpServletRequest)request; HttpServletResponse httpresponse = (HttpServletResponse)response; HttpSession session = httprequest.getSession(); if(session.getAttribute("name")!=null){ //判断session中是否含有用户名,如果有继续执行 chain.doFilter(request,response); } else{ httpresponse.sendRedirect(httprequest.getContextPath()+"/login.jsp"); } }}
阅读全文
1 0
- servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写)
- Servlet 编写Filter过滤器
- 防止未登录访问 可用过滤器Filter实现
- servlet+jsp实现过滤器,防止用户未登录访问
- servlet+jsp实现过滤器 防止用户未登录访问
- Servlet中的Filter过滤器的介绍和使用 编写过滤器
- 【Servlet】Filter过滤器的编写和配置
- 关于编写过滤器Filter对乱码进行GBK过滤,网页不显示任何东西的问题
- 一、使用JAVA_SWT编写登陆界面(不含数据库,登陆按钮未处理)
- Java web过滤器验证登录防止未登录进入界面
- Java Web笔记 – Servlet中的Filter过滤器的介绍和使用 编写过滤器
- 不允许未登陆用户访问的过滤器配置,filter
- java 登陆过滤器filter的编写及配置
- 过滤器的编写(过滤字符编码)
- Servlet 编写过滤器
- Servlet 编写过滤器
- Servlet 编写过滤器
- Servlet 编写过滤器
- 史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心
- int类型与char类型的转换
- android下dev设备的权限问题
- 自动化=appium桌面版1.6.5+python3.6
- vim g系列命令补充
- servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写)
- Django Debug Toolbar安装
- 心急的C小加-OJ
- Java上机心得2
- Oracle表-维护
- 百练2787:算24(递归)
- 【UGUI/NGUI】一键换Text/Label字体
- android代码示例 应用完全退出
- 【AC自动机】统计单词出现个数-map版