利用SSM框架实现一个登入页面的验证
进入登入页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><f:view><h1>登入系统</h1><table><!--${pageContext.request.contextPath}帮助我们去匹配上下文路径,不需要再手动去写死了--><form action="${pageContext.request.contextPath }/login"method="post"><tr><td>⽤户名:</td><td><input type="text" name="username" /></td></tr><tr><td>密&nbsp;&nbsp;码:</td><td><input type="password" name="password" /></td></tr><tr><td colspan="2"><input type="submit" value="登录" /> <inputtype="reset" value="重置" /></td></tr></form></table></f:view>
</body>
</html>

上代码如下图所示:

在这里我们点击了登入,他便跳转到${pageContext.request.contextPath }/login中,也就是我们之前写好的一个UserControler

package com.rql.bookshop.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.servlet.ModelAndView;import com.rql.bookshop.po.User;@Controller
public class UserController {@PostMapping(value = "/login")public ModelAndView userLogin(User user, ModelAndView mav) {System.out.println(user);// 将用户数据装入到model中mav.addObject("user", user);// 返回成功页面mav.setViewName("succ");return mav;}
}

自动匹配到了@postMapping(value="/login"),然后返回到视图层

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>系统首页</title>
</head>
<body><f:view><h1>欢迎您:${user.username}</h1><p>进入系统</p></f:view>
</body>
</html>

如下图所示:

项目结构如下:

总结:${pageContext.request.contextPath }是一个jsp内部提供的,帮我们自动匹配上下文环境的,不需要我们像以前一样把代码写死。

最新文章

  1. 单例模式 之 单例模式——懒汉模式
  2. 区块链BaaS云服务(39)时戳信息Bystack
  3. 使用MEF构建可扩展的Silverlight应用
  4. 台式计算机更新不了,台式机更新造成电脑关不了机怎么办
  5. [深度学习-TF2实践]应用Tensorflow2.x训练DenseNet模型在Cifar10数据上,测试集准确率90.07%
  6. keepalived 和 zookeeper的区别
  7. java数据类型double保留两位小数
  8. 互联网,就像一条条丝线一样,将每个个体、每个组织串联在一起
  9. memcache 未授权访问漏洞
  10. 经典游戏扫雷详解--你也可以写出扫雷和玩好扫雷
  11. 计算机软件如何助力科研,研究生必备科研绘图软件,助力科学研究
  12. 【2019/02/18测试T3】飘雪圣域
  13. 在保护继承中基类的共有成员_鸡啄米:C++编程入门系列之三十八(继承与派生:派生类对基类成员的访问控制之保护继承与私有继承)...
  14. 重读经典(CLIP上):《Learning Transferable Visual Models From Natural Language Supervision》
  15. 2023年房地产地段研究报告
  16. SQL按日期分组销售产品,使用group_concat和separator
  17. OpenCV 单目测距实现
  18. 《情感化设计/Emotional Design》中文版序 by Donald Norman
  19. matlab求线性方程组的符号解,Newton迭代法在MATLAB中解线性方程组
  20. 「科普大佬说」以计算机图形学的视点看元宇宙发展

热门文章

  1. 浅谈路由器的wan、lan、wlan口和vlan/trunk口
  2. mysql数据库开启ssl_MySQL 5.7.x开启SSL连接
  3. php curl 优化下载微信头像
  4. springboot—监听容器启动事件—拦截器及注册
  5. 如何获取全球地表温度数据?
  6. Ubuntu20.04 操作系统切换中文 安装中文输入法
  7. android下拉刷新的方法,Android App使用RecyclerView实现上拉和下拉刷新的方法
  8. JAVA中读写文件的FileNotFoundException和IOException
  9. [转贴]写给理工科大学生尤其是学计算机的大学生
  10. Good Java idioms