接上一篇:SSM整合初始环境搭建
1. 首页功能分析
- 1.要实现的功能:用户访问项目,后台从首页直接跳转到登录页面,用户直接看到登录页面
- 2.把项目部署到tomcat上:http://localhost:8080/
- 项目搭建时已经新建了WEB-INF/pages/index.jsp首页,什么都没有写
- 写com/lyx/web/controller/IndexController.java
- 当用户访问http://localhost:8080/时,由于IndexController的index()方法的@RequestMapping是“/”,所以直接访问到index.jsp,在index.jsp里跳转到登录页面的UserController类的toLogin()方法中,该方法返回值为“settings/qx/user/login”,视图解析器会补齐,该方法的@RequestMapping(“settings/qx/user/toLogin.do”),这个路径就是首页index.jsp跳转要访问的路径
2. 首页的Controller
- 在com/lyx/web/controller包下新建indexController.java
2.1 代码如下
- 当用户访问http://localhost:8080/时,由于IndexController的index()方法的@RequestMapping是“/”,所以直接访问到index.jsp
@Controller
public class indexController {
@RequestMapping("/")
public String index(){
return "index";
}
}
3. 登录页面的Controller
在com.lyx.settings.web.controller包下新建UserControll,写一个登录方法
3.2 代码如下
- 在index.jsp里跳转到登录页面的UserController类的toLogin()方法中,该方法返回值为“settings/qx/user/login”,视图解析器会补齐,跳转到login.jsp页面,该方法的@RequestMapping(“settings/qx/user/toLogin.do”),这个路径就是首页index.jsp跳转要访问的路径
@Controller
public class UserController {
@RequestMapping("/settings/qx/user/toLogin.do")
public String toLogin(){
return "settings/qx/user/login";
}
- 该方法返回值为“settings/qx/user/login”,视图解析器会补齐,跳转到login.jsp页面,下面来写login.jsp页面
4. 登录页面login.jsp
- 在src/main/webapp/WEB-INF/pages/settings/qx/user目录下新建login.jsp
- qx是权限
4.1 base标签
-
base标签:在整个jsp页面,找任何url,都要以base标签的href为基准去找
<% String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/"; %>
request.getScheme():获取协议,例如http协议
request.getServerName():获取服务器名称,也就是主机的ip
request.getServerPort():获取服务器端口号,我的是8080
request.getContextPath():获取项目名称**
4.2 代码如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/";
%>
<html lang="en">
<head>
<base href="<%=basePath%>"/>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="jquery/bootstrap-3.4.1/dist/css/bootstrap.min.css"/>
<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="jquery/bootstrap-3.4.1/dist/js/bootstrap.min.js"></script>
</head>
<body>
<%--登录页面--%>
</body>
</html>
5. 首页index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<script type="text/javascript">
document.location.href = "/settings/qx/user/toLogin.do";
</script>
</body>
</html>
6. Tomcat运行
什么路径也不写,发现直接跳转到了登录页面