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

企业网站建设 优化/seo基础培训机构

企业网站建设 优化,seo基础培训机构,阳泉 网站建设合作,微信小程序 编程目录🚩一 SpringMVC拦截器✅ 1.配置文件✅2.登录验证代码(HandlerInterceptor)✅3.继承HandlerInterceptorAdapter(不建议使用)✅4.登录页面jsp✅5.主页面(操作页面)✅6.crud用户在访问页面时 只…

目录

    • 🚩一 SpringMVC拦截器
        • ✅ 1.配置文件
        • ✅2.登录验证代码(HandlerInterceptor)
        • ✅3.继承HandlerInterceptorAdapter(不建议使用)
        • ✅4.登录页面jsp
        • ✅5.主页面(操作页面)
        • ✅6.crud
  • 用户在访问页面时 只做展示 不可进行任何操作 否则跳转登录页面

✅作者简介:Java-小白后端开发者 🥭公认外号:球场上的黑曼巴

🍎个人主页:不会飞的小飞侠24

🍊个人信条:谨 · 信

💞当前专栏:高级内容

🥭本文内容: SpringMVC【拦截器】登录验证

更多内容点击👇
小飞侠的博客>>>>欢迎大家!!!

在这里插入图片描述

🚩一 SpringMVC拦截器

SpringMVC中的Interceptor拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的
处理。比如通过它来进行权限验证,或者是来判断用户是否登录等操作。对于SpringMVC拦截器的定义方式有两

  • 实现接口: org.springframework.web.servlet.Handlerlnterceptor
  • 继承适配器: org.springframework.web.servethandler.HandlerInterceptorAdapter

✅ 1.配置文件

(1)web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc03-config.xml</param-value></init-param><!--tomcat启动就创建该实例对象--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

(2)pom.xml

<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.9</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>compile</scope></dependency><!--引入json格式转换的依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.14.1</version></dependency>

(3)springmvc-config.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 代替以上 配置    支持json数据格式的解析 --><mvc:annotation-driven></mvc:annotation-driven><!--配置内部视图解析器   InternalResourceViewResolver --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--前缀--><property name="prefix" value="/" ></property><!--后缀--><property name="suffix" value=".jsp"></property></bean><!--开启包扫描--><context:component-scan base-package="cn.syb.springmvc03"></context:component-scan><!--静态资源的处理 不需要经过前端控制器  tomcat--><mvc:default-servlet-handler></mvc:default-servlet-handler><!--  配置拦截器  --><mvc:interceptors><mvc:interceptor><!--设置拦截路径--><mvc:mapping path="/**"/><!--设置不要拦截的路径--><mvc:exclude-mapping path="/user/login"/><mvc:exclude-mapping path="/user/getcode"/><!--自定义拦截器--><bean class="cn.syb.springmvc03.interceptor.LoginInterceptor"></bean></mvc:interceptor></mvc:interceptors><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
</beans>

✅2.登录验证代码(HandlerInterceptor)

package cn.syb.springmvc03.interceptor;import org.springframework.web.servlet.HandlerInterceptor;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class LoginInterceptor implements HandlerInterceptor {public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("-------拦截器---------------");HttpSession session = request.getSession();Object user = session.getAttribute("user");if(user==null){response.sendRedirect("/login.jsp");}return true;}
}

✅3.继承HandlerInterceptorAdapter(不建议使用)

java public class MyInterceptor2 extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
return false;
} }

✅4.登录页面jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>登录页</title><script type="text/javascript" src="jquery-1.11.1.js"></script><script src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.3.1/jquery.min.js"></script></head>
<body><form><p><input type="text" name="username" placeholder="请输入用户名" id="username"></p><p><input type="password" name="password" placeholder="请输入密码" id="password"></p><p><input type="text" name="code" placeholder="请输入验证码" id="code"></p><p><input type="button" value="登录" id="login"></p>
</form><%--//异常提示信息--%>
<span id="msg" style="color: red"></span><script>//给login   添加点击事件$("#login").click(function (){//赋值let username = $("#username").val()let password = $("#password").val()let code =   $("#code").val()//简写的JSon$.get("/user/login",{username,password,code},function (res){if(res.code==200){window.location.href="/userIndex.jsp"}else {//拿信息let info = res.msg;//获取信息$("#msg").text(info)}})})
</script></body>
</html>

✅5.主页面(操作页面)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>用户主页面</title>
</head>
<body><h2>用户信息主页面</h2><p><a href="/user/add?username=jack&password=123">添加</a></p><p><a href="/user/delete?id=10">删除</a></p><p><a href="/user/logout">退出登录</a></p>
</body>
</html>

✅6.crud

package cn.syb.springmvc03.UserController;import cn.syb.springmvc03.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.SessionAttribute;import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;/*** @Author: 课工场* @Version: v1.0  2023/3/1* @Description:*  @CookieValue     获取cookie中执行key的值*  @SessionAttribute 获取session中指定key的值*/
@Controller
@RequestMapping("user")
public class UserController {@RequestMapping("login")@ResponseBody//    , @SessionAttribute("code") String attributepublic Map<String, Object> login(User user, HttpSession session,@SessionAttribute("code") String attribute) {HashMap<String, Object> map = new HashMap<>();
//        String attribute = (String) session.getAttribute("code");System.out.println("attribute = " + attribute);String code = user.getCode();if(code.equals(attribute)){if ("tom".equals(user.getUsername()) && "12345".equals(user.getPassword())) {// 将用户信息存入sessionsession.setAttribute("user", user);map.put("code", 200);map.put("msg", "登录成功");} else {map.put("code", 500);map.put("msg", "登录失败");}}else{map.put("code", 500);map.put("msg", "验证码错误");}return map;}@RequestMapping("add")@ResponseBody//    @CookieValuepublic Map<String, Object> add( User user) {HashMap<String, Object> map = new HashMap<>();map.put("code", 200);map.put("msg", "添加成功 user= " + user);return map;}@RequestMapping("delete")@ResponseBodypublic Map<String, Object> delete(Integer id) {HashMap<String, Object> map = new HashMap<>();map.put("code", 200);map.put("msg", "删除成功 id = " + id);return map;}@RequestMapping("logout")public String logout(HttpSession session) {session.invalidate();//转发return "login";}@RequestMapping("getcode")@ResponseBodypublic Map<String,Object> getCode(HttpSession session) {HashMap<String, Object> map = new HashMap<>();Random random = new Random();int value = random.nextInt(10000);session.setAttribute("code", value);map.put("code", value);return map;}
}

用户在访问页面时 只做展示 不可进行任何操作 否则跳转登录页面

在这里插入图片描述

http://www.jmfq.cn/news/4957021.html

相关文章:

  • 网站建设案例渠道/世界杯积分榜排名
  • 农业大学网站建设特点/福建省人民政府
  • 怎样用word做网站/网页推广怎么做
  • 大方县住房城乡建设局网站/深圳网络营销软件
  • 企业网站整合/网络舆情监测中心
  • 汕头网站建设技术托管/4001688688人工服务
  • 二手书网站策划书/腾讯3大外包公司
  • 惠州市住房和城乡规划建设局官方网站/百度问答首页
  • 谷歌 网站开发/网上在线看视频为什么卡
  • 做网站都能用什么做/西安网站seo工作室
  • 石河子网站建设/网页怎么做
  • 学做网站的基本/seo在线教学
  • 网站建设栏目分级/百度app登录
  • 帮人做网站推选的公司/长沙seo网络优化
  • 网站推广外包公司哪家好/佛山网站seo
  • 长春网站建设网/郑州高端网站建设哪家好
  • 自己电脑做网站必须装jdk/重庆seo务
  • 章贡网站建设/百度指数平台
  • 网站js修改头像代码/承接网络推广外包业务
  • 制作个网站大概多少钱/广告竞价排名
  • 优秀网站设计书籍/企业培训公司
  • 猛烈做瞹瞹视频澳洲网站/百度怎么发自己的小广告
  • 网站广告销售怎么做/百度下载
  • 网页版html编辑器/优化网站性能
  • 个人备案的网站可以做商城/百度学术论文查重
  • 如何创建一个和淘宝一样的网站/深企在线
  • 中山市网站制作/系统优化是什么意思
  • 竞价单页网站制作教程/电商数据统计网站
  • 昆明传媒网站建设/南京网站建设
  • 网站模板加后台/百度手机助手下载安卓