IDEA中基于Springmvc的web登录项目
基于配置文件的Spring MVC应用程序–web项目登录功能,此处用的是tomcat9版本,如是tomcat10版本,需将tomcat10版本降低为tomcat9版本。
1、首先创建一个maven web项目,这里不使用骨架创建。这里项目名字为
ch3-springmvc
2、因为是不使用骨架创建,所以需要先手动创建webapp文件夹。步骤:鼠标点击IDEA工具栏中的File–Project Structure–facts–±-Web–Deployment Descriptors–点击编辑–在原有路径的基础上修改为:项目名\src\main\webapp\WEB-INF\web.xml–Web Resourse Descriptors–点击编辑–在原有基础上修改为:项目名\src\main\webapp。
例如我的项目名为ch3-springmvc
Deployment Descriptors路径完整就是
E:\ch3-springmvc\src\main\webapp\WEB-INF\web.xml
Web Resourse Descriptors完整路径就是E:\ch3-springmvc\src\main\webapp
3、添加pom.xml的依赖包
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>ch3-springmvc</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>ch3-springmvc Maven Webapp</name>
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.12.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.12.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.0.12.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.0.12.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!--servlet-api-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.12.RELEASE</version>
<!--5.0.12.RELEASE-->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
4、配置前端控制器:在项目的web.xml文件中进行Spring MVC前端控制器DispatcherServlet的配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- org.springframework.web.servlet.DispatcherServlet
org.springframework.web.servlet.mvc.Controller配置初始化参数,读取Spring MVC的配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
5、创建Spring mvc的配置文件spring-mvc.xml和配置处理器映射信息和视图解析器:在src\main\resources下创建Spring mvc的配置文件spring-mvc.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="/login.do" class="com.jk.controller.LoginController"></bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
6、在webapp下创建login.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Spring mvc的用户登录</title>
</head>
<body>
<h1>Spring mvc的用户登录</h1>
<form action= "login.do" method="get" >
<h1>用户登录</h1> <br>
用户名:<input type="text" name="name"> <br>
密码:<input type="password" name="password"> <br>
<input type="submit" value="登录">
</form>
</body>
</html>
7、在WEB-INF下创建名称为view的文件夹,并在view文件夹下创建名称为success和fail的jsp文件,用于对客户端请求进行成功或失败处理后的视图展示。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>success.jsp</title>
</head>
<body>
<h1>登录成功</h1>
success.jsp 显示数据<br>
msg:${msg}
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>fail.jsp</title>
</head>
<body>
<h1>登录失败</h1>
fail.jsp 显示数据<br>
msg:${msg}
</body>
</html>
8、创建处理器LoginController类,用于处理客户端的请求并指定响应时转跳的页面。在src\main\java下新建一个com.jk.Controller包.
```bash
public class LoginController implements org.springframework.web.servlet.mvc.Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest Request,
HttpServletResponse Response) throws Exception {
ModelAndView mv=new ModelAndView();
String name=Request.getParameter("name");
String pwd=Request.getParameter("password");
if ("张三".equals(name)&&"111".equals(pwd)) {
mv.addObject("msg","登录成功,欢迎"+name);
mv.setViewName("success");
}else {
mv.addObject("msg", name + "登录失败,重新登录");
mv.setViewName("fail");
}
//mv 存储了数据和视图名称,对数据和视图的处理在后边
return mv;
}
}
9、配置tomcat。点击run–Edit Configurations…–点击Tomcat Server–local–Server–Configurations–Tomcat Home–选中安装好的tomcat–Tomcat base directory–选中安装好的tomcat。
10、启动Tomcat,在浏览器地址栏添加login.jspz则会显示登录页面,用户名输入“张三”,密码输入“111”则跳转至登录成功页面,否则跳转至登录失败页面。