一、创建项目模块
这里我已经创建过一个父项目了,所以直接创建一个相关的模块即可
- 创建模块
- 自定义模块名称
二、导入依赖
- 导入相关依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
- 使依赖生效
三、添加web环境
四、编写代码
- 编写jsp页面
<%--
Created by IntelliJ IDEA.
User: potential
Date: 2022/4/21
Time: 10:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${msg}
</body>
</html>
- 创建接口
HelloController
package com.li.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
//ModelAndView 模型和视图
ModelAndView modelAndView = new ModelAndView();
//封装对象,放在ModelAndView中,Model 就去存数据
modelAndView.addObject("msg","HelloSpringMVC!");
//封装跳转的视图 放在ModelAndView中 跳转 经过视图解析器 去拼接
modelAndView.setViewName("hello"); //WEB-INF/jsp/hello.jsp
return modelAndView;
}
}
- 创建springmvc配置文件
springmvc-servlet.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 class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!--添加处理器适配器-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!--添加视图解析器:DispatcherServlet给他的ModelAndView-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
<!--前缀-->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!--后缀-->
<property name="suffix" value=".jsp"></property>
</bean>
<!--Handler-->
<bean id="/hello" class="com.li.controller.HelloController" ></bean>
</beans>
- 编写
web.xml
<?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">
<!--注册DispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!--关联一个springmvc的配置文件 【servlet-name】-servlet.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!--启动级别-1-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--/ 匹配所有的请求,不包括.jsp-->
<!--/* 匹配所有的请求:包括.jsp**/-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
五、启动测试
- 启动成功,成功出现默认的启动页面
注意:
在url中手动写入hello,申请跳转到hello.jsp页面,发现出现以下错误
- 开始排查错误,在确保代码没问题的情况下,
可能是idea本身的错误
,查看整个项目的out
文件夹下,没有Lib文件夹,即没有将jar包导出
. 手动将相关jar包导入到里面,操作如下:
- 创建lib文件夹
- 添加全部依赖包进去
再次启动tomcat,申请跳转hello.jsp,出现下面页面表示启动成功