Maven项目 - SpringMvcDemo
单击 【new project】
设置为下图所示后,单击【create】按钮
项目创建成功
在pom.xml文件里添加支持Spring MVC的相关依赖,添加内容如下:
4.0.0 net.army.spring SpringMvcDemo 1.0-SNAPSHOT 5.3.25 org.springframework spring-core ${spring.version} org.springframework spring-beans ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-test ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} javax.servlet jstl 1.2 javax.servlet javax.servlet-api 3.1.0 provided log4j log4j 1.2.17 junit junit 4.13.2 test
选择【file】-【project structure…】
选择【modules】-【+】-【web】
单击【Create Artifact】按钮
将名称改为
SpringMvcDemo
,单击【OK】按钮
此时看到项目多了一个web目录
在WEB-INF里创建views子目录(用于存放JSP页面)
右击【WEB-INF】,选择【new】,单击【Directory】
此时输入views,按回车键
创建成功
在views目录里创建登录页面 - login.jsp
右击【views】,选择【new】,单击【JSP/JSPX】,在输入login,按下回车即可创建成功
添加如下代码:
<%--Created by IntelliJ IDEA.User: 梁辰兴Date: 2023/3/21Time: 11:11To change this template use File | Settings | File Templates.
--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
用户登录
用户登录
在views目录里创建登录成功页面 - success.jsp
添加如下代码:
<%--Created by IntelliJ IDEA.User: 梁辰兴Date: 2023/3/21Time: 11:14To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
登录成功
${username},登录成功!
在views目录里创建登录失败页面 - failure.jsp
添加如下代码:
<%--Created by IntelliJ IDEA.User: 梁辰兴Date: 2023/3/21Time: 11:15To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
登录失败
${username},登录失败!
创建net.army.spring.controller包,然后在包里创建LoginController类
右击【net.army.spring】包,选择【new】,单击【package】
输入controller,按下回车键
右击【net.army.spring.controller】包,选择【new】,单击【java class】
输入LoginController,按下回车键
创建成功
添加如下代码:
package net.army.spring.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpSession;/*** 作者:梁辰兴* 日期:2023/3/21* 功能:登录控制器*/
@Controller // 交给Spring容器来管理
public class LoginController {@PostMapping("/login") // 可用@RequestMapping("/login")public String login(@RequestParam("username") String username,@RequestParam("password") String password,HttpSession session) {// 将登录表单提交的用户名写入会话session.setAttribute("username", username);// 判断用户是否登录成功if (username.equals("army") && password.equals("1234567")) {// 返回逻辑视图名success,表明跳转到登录成功页面return "success";}// 返回逻辑视图名failure,表明跳转到登录失败页面return "failure";}
}
在resources里创建mvc子目录,然后在子目录里创建spring-config.xml
添加如下代码:
在resources/mvc目录里创建spring-mvc-config.xml
添加如下代码:
一个Web项目启动时最先要读取web.xml文件
在web/WEB-INF目录里打开web.xml文件
添加如下代码:
/WEB-INF/views/login.jsp org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:mvc/spring-config.xml DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:mvc/spring-mvc-config.xml 1 DispatcherServlet / Character Encoding org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 Character Encoding /*
单击工具栏上的【current file】-【edit configurations…】
单击【+】-【Tomcat server】-【local】
单击【configure…】
配置如下图,单击【ok】按钮
选择【deployment】,单击【+】
单击【artifact…】
注意一下URL,然后单击【ok】按钮
打开【Project Structure】窗口,选择Modules对应的Dependencies
单击【library…】
选择【Tomcat 8.5.86】,单击【add selected】按钮
单击【ok】按钮
单击运行按钮,出现下图错误,可参考《Error:java: 不再支持源选项 5》。
启动失败,因为输出目录没有项目运行所需的jar包
配置Artifacts,添加项目正常运行所需的jar包
选择所有的文件,然后右击,单击【Put into / WEB-INF/lib】
目录添加成功,单击【ok】按钮
再次启动服务,查看结果
下面进行录屏展示登录成功与失败的情况