struts2过滤用户非法登陆

用户登录过滤器实现
本文介绍了一种通过自定义过滤器(LoginFilter)实现用户非法登录的预防机制,并展示了如何在web.xml中配置此过滤器来保护网站资源不被未授权访问。

1、过滤用户非法登录(LoginFilter.java)

package comm;

import java.io.IOException;

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.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *过滤用户非法登录(过滤jsp页面)
 */
public class LoginFilter extends HttpServlet implements Filter {
	public void destroy() {
	}

	public void doFilter(ServletRequest sRequest, ServletResponse sResponse,
			FilterChain filterChain) throws IOException, ServletException {

		HttpServletRequest request = (HttpServletRequest) sRequest;
		HttpServletResponse response = (HttpServletResponse) sResponse;
		HttpSession session = request.getSession();

		String contextPath = request.getContextPath();
		String url = request.getRequestURI();

		String user = (String) session.getAttribute("userName");

		// 非登录页面或非登录验证页面,则非法过滤
		if (url.indexOf("login.jsp") < 0
				&& url.indexOf("loginAction!check") < 0 && user == null) {// 转入登陆页面

			// 解决:加了过滤器后,CSS不能显示问题
			if (url.indexOf(".jpg") > 0 || url.indexOf(".bmp") > 0
					|| url.indexOf(".gif") > 0 || url.indexOf(".css") > 0
					|| url.indexOf(".png") > 0) {
				filterChain.doFilter(sRequest, sResponse);
				return;
			}

			response.sendRedirect(contextPath + "/login.jsp");
		} else {
			filterChain.doFilter(sRequest, sResponse);
		}
	}

	public void init(FilterConfig arg0) throws ServletException {

	}
}

2、web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
      <welcome-file>pages/user/index.jsp</welcome-file>
  </welcome-file-list>
  
    <!-- 过滤用户非法登录 -->
    <filter>     
         <filter-name>loginFilter</filter-name>     
         <filter-class>comm.LoginFilter</filter-class>     
    </filter>     
    <filter-mapping>  
         <filter-name>loginFilter</filter-name>  
         <url-pattern>/*</url-pattern>  
    </filter-mapping>
  
  <filter>
      <filter-name>struts2</filter-name>
  	  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
  	  <filter-name>struts2</filter-name>
  	  <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>


六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论与Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程与科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真与优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学与动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导与仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究与复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模与神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法与仿真方法拓展自身研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值