IDEA(maven)创建springMVC项目(2)——配置信息、创建基础页面
原文链接:这里
0.前言
上一篇中我们已经把SpringMVC基础环境搭建出来了。这一篇我们继续来配置SpringMVC。我们先把需要的文件夹都建立好。
![](https://www.longkui.site/wp-content/uploads/2020/09/image-151.png)
整个搭建过程可以分为下面几步:
(1)同过pom.xml引入jar包
(2)创建Spring MVC的配置文件,在web.xml 中配置Servlet,定义DispatcherServlet。
(3)创建配置文件springmvc-servlet.xml
(4)创建controller
(5)创建view
(6)部署运行
1.添加依赖
我们在pom.xml文件添加这些坐标。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
< dependencies > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-webmvc</ artifactId > < version >5.2.5.RELEASE</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-web</ artifactId > < version >5.2.5.RELEASE</ version > </ dependency > < dependency > < groupId >org.springframework</ groupId > < artifactId >spring-context</ artifactId > < version >5.2.5.RELEASE</ version > </ dependency > < dependency > < groupId >javax.servlet</ groupId > < artifactId >servlet-api</ artifactId > < version >2.5</ version > </ dependency > < dependency > < groupId >javax.servlet.jsp</ groupId > < artifactId >jsp-api</ artifactId > < version >2.2</ version > </ dependency > </ dependencies > |
2.配置web.xml
SpringMVC 是基于Servlet的框架,DispatcherServlet是整个SpringMVC框架的核心,它负责截获请求并将其分配给相应的处理器处理。那么配置SpringMVC,首先要进行DispatcherServlet的配置。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<? xml version = "1.0" encoding = "UTF-8" ?> xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee version = "4.0" > < servlet > < servlet-name >dispatcherServlet</ servlet-name > < servlet-class >org.springframework.web.servlet.DispatcherServlet</ servlet-class > < init-param > < param-name >contextConfigLocation</ param-name > < param-value >classpath:springmvc-servlet.xml</ param-value > </ init-param > < load-on-startup >1</ load-on-startup > </ servlet > < servlet-mapping > < servlet-name >dispatcherServlet</ servlet-name > < url-pattern >/</ url-pattern > </ servlet-mapping > </ web-app > |
注意,这个地方需要注意一下,默认的版本是2.3。最好把它改成上面的版本中,因为在测试中遇到一个实际问题发现就是web.xml版本问题。
3.创建springmvc-servlet.xml文件
在项目工程resource目录下添加上面提到的spingmvc-serlvet.xml。有的也叫springmvc-web.xml(名字无所谓,只有对应正确就行)
其配置文件spingmvc-serlvet.xml可以写成下面的形式。(写法不唯一,知道你想要什么功能就行)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans <mvc:annotation-driven/> <mvc:default-servlet-handler/> <context:component-scan base-package="com.cat.controller"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </beans> |
关于springmvc-servlet.xml的配置文件的解析可以点这。
4.创建controller
到目前位置,springmvc的相关环境配置已经完成,接下来编写Controller和view,然后就可以测试运行了。
IDEA下新建包
输入com.cat.controller (名字也是无所谓,不过最好符合一定规则)
在这里面编写代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package com.cat.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; /* * controller 负责提供访问应用程序的行为,通常通过接口定义或者注解定义两种方法实现。 * 控制器负责解析用户的请求并将其转换为一个模型。 * */ @Controller //代表这个类会被spring接管,被这个注解的类中所有方法,如果返回值是string,并且有具体的页面可以跳转,那么就会被视图解析器解析 public class IndexController { @RequestMapping("/hello") //意为请求 localhost:8080/hello public String hello(Model model){ //封装数据(向模型中添加数据,可以jsp页面直接取出并渲染) model.addAttribute("name","张三"); model.addAttribute("sex","男"); model.addAttribute("age",16); System.out.println(model); //会被视图解析器处理 return "hello"; //返回到哪个页面 } } |
不理解Model和ModelAndView的原理和用法可以点这。
5.创建view
创建完了上面的controller,下面开始写页面。注意,我们在sprigmvc-servlet.xml中定义过这样的前缀,这意味着我们要把jsp页面都写在WEB_INF/jsp这个文件夹下面才能正常访问到。
1
|
< property name = "prefix" value = "/WEB-INF/jsp/" /> |
wenj我们在相应的文件夹下,新建hello.jsp文件(跟上面controller中的return 对应好)。
1
2
3
4
5
6
7
8
9
10
11
12
|
<%@ page contentType= "text/html;charset=UTF-8" language= "java" %> <html> <head> <title>Title</title> </head> <body> hello.jsp页面 <p>姓名:${name}</p> <p>性别:${sex}</p> <p>年龄:${age}</p> </body> </html> |
6.部署运行
配置一下tomcat
开始运行。请求地址为:
1
|
localhost:8080/hello |
浏览器会弹出如下信息。