当前位置: 首页 > wzjs >正文

上传文章网站新媒体

上传文章网站,新媒体,怎么制作婚介网站,黑色系 网站本文将基于提供的代码,详细解析如何实现Spring MVC的登录验证和拦截器保护机制。通过前端页面、控制器、拦截器的协同工作,确保系统资源的安全访问。 1. 核心组件说明 文件功能说明LoginController.java处理登录请求、跳转页面的控制器lanjieqi.java拦…

本文将基于提供的代码,详细解析如何实现Spring MVC的登录验证和拦截器保护机制。通过前端页面、控制器、拦截器的协同工作,确保系统资源的安全访问。

1. 核心组件说明
文件功能说明
LoginController.java处理登录请求、跳转页面的控制器
lanjieqi.java拦截器:验证用户登录状态(类名建议改为AuthInterceptor更规范)
User.java用户实体类(存储用户名密码)
Response.java统一响应对象(返回状态码和消息)
springmvc.xmlSpring MVC核心配置(扫描包、视图解析器、拦截器注册)
login.html登录页面(AJAX提交请求)
index.html主页(登录成功后访问)

2. 登录验证流程
(1) 前端请求处理 (login.html)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登录页面</title><script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
用户名:<input type="text" id="name" placeholder="请输入用户名" /> <br/>
密码:<input type="text" id="password" placeholder="请输入密码" /> <br/>
<input type="button" value="登录" onclick="login()">
</body>
<script>function login(){var name = $("#name").val();var password = $("#password").val();$.ajax({url:"/SpringMVC/login",type:"get",data:{name:name,password:password}, success:function(data){console.log(data)if(data.code == 200){window.location.href = "/SpringMVC/toIndex";}else{alert(data.message);}}})}
</script>
</html>
(2) 后端验证逻辑 (LoginController.java)
package com.qcby.controller;import com.qcby.entity.Response;
import com.qcby.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;@Controller
public class LoginController {@RequestMapping("/toLogin")public String toLogin(){return "login";}@RequestMapping("/toIndex")public String index(){return "index";}@RequestMapping("/login")@ResponseBodypublic Response login(User user, HttpServletRequest request) {if(user.getName().equals("admin") && user.getPassword().equals("123456")){//设置sessionHttpSession session = request.getSession();session.setAttribute("loginUser",user);return new Response("200","登录成功");}else {return new Response("500","登录失败");}}}
3. 拦截器保护机制
(1) 拦截器核心逻辑 (lanjieqi.java)

如何不理解拦截器请看Spring MVC拦截器深度解析:掌控请求生命周期的艺术-CSDN博客

package com.qcby.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.handler.Handler;
import java.security.PublicKey;public class lanjieqi implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) throws Exception {//获取当前访问的urlString url = request.getRequestURI(); //http://localhost:8080/SpringMVC/login  登录时的请求if(!url.contains("login") && !url.contains("toLogin")){  //非登录时的请求if(request.getSession().getAttribute("loginUser")!=null){  //说明已经登录过return true;}else {//要求其进行登录response.sendRedirect("/SpringMVC/toLogin"); //重定向到登录页面}}else {  //登录时的请求return true; //放行}return false;}
}
(2) 拦截器配置 (springmvc.xml)
<mvc:interceptors><mvc:interceptor><mvc:mapping path="/toIndex"/> <!-- 拦截主页请求 --><bean class="com.qcby.interceptor.lanjieqi"/> </mvc:interceptor>
</mvc:interceptors>
4. 完整交互流程
  1. 用户访问主页
    http://localhost:8080/toIndex → 拦截器检测未登录 → 重定向到/toLogin

  2. 渲染登录页
    控制器返回login.html → 用户输入凭据 → AJAX提交到/login

  3. 服务端验证

    • 成功:存储Session → 返回{code:200} → 前端跳转主页

    • 失败:返回{code:500} → 前端弹窗提示

  4. 访问受保护资源
    再次访问/toIndex → 拦截器检测Session存在 → 放行并展示index.html

5. 总结

通过本文实现的登录系统,我们掌握了:

  • 使用Session管理用户登录状态

  • 拦截器实现路由级别的权限控制

  • AJAX与后端RESTful风格的交互

  • Spring MVC的配置与组件协同

关键设计思想

“前端轻量化请求,后端无状态验证,拦截器统一守门”

完整代码已在上文提供,建议结合实际需求扩展密码加密、多端会话管理等功能以提升安全性。

http://www.dtcms.com/wzjs/54737.html

相关文章:

  • 哈尔滨网站建设服务公司优化关键词排名优化公司
  • 淘客网站怎么做代理网址缩短在线生成器
  • 江西网站建设哪家专业如何投放网络广告
  • 个人网站建设 优帮云关键字是什么意思
  • 南京做网站优化多少钱谷歌paypal官网登录入口
  • 网新企业网站管理系统提高网站搜索排名
  • 织梦系统网站首页空白抖音seo关键词优化排名
  • 国产网站开发工具公司全国新冠疫苗接种率
  • 网贷之家网站建设代发百度帖子包收录排名
  • 网站开发及运营代理协议范本广州白云区最新信息
  • 怎么检查网站死链南阳本地网络推广优化公司
  • 网站 关键词 选择常用的网络营销策略有哪些
  • 网站建设的设计总结枫林seo工具
  • 做网站建设销售辛苦吗连云港seo公司
  • 苏州网站推广如何nba排名最新排名
  • 上海专业网站建设服网站建设纯免费官网
  • 用台式机做网站服务器品牌营销理论有哪些
  • 成都专业做网站公司有哪些长春建站程序
  • 如何用外网ip做网站下载app到手机上并安装
  • 上海网站建设口碑好十大免费网站推广平台
  • 建设钓鱼网站源码小吃培训
  • wordpress 加密东莞seo托管
  • 天津教育网站官网乔拓云建站平台
  • 做一个一般的网站需要多少钱软文推广营销平台
  • 做网站的问题重庆疫情最新消息
  • jsp鲜花网站开发源代码在线一键建站系统
  • 做网站设像素全自动引流推广软件app
  • 六盘水市网站建设计算机培训机构排名前十
  • 阿里万网站建设快速刷排名的软件最好
  • 郑州医疗网站建设搜索引擎营销总结