最近在系统的学习idea和Spring相关的知识,上一篇我们使用idea工具新建了一个SpringMVC项目,并写了一个Controller.
结合我们之前使用idea创建Maven项目的经历,现在我们使用idea工具创建一个Maven+SpringMVC项目
当然这其中我也借鉴了一些别人的博文:
https://blog.csdn.net/weixin_42222334/article/details/80362126
https://www.cnblogs.com/gczmn/p/8671554.html
感谢这些作者的分享,下面我将我自己新建项目的过程记录一下,方便以后自己查看,也希望能帮助到他人
开发工具: idea
使用到的技术:Maven + SpringMVC
一。先新建一个Maven 项目
因为使用idea新建Maven项目我在之前的博客中已经写过了:
https://blog.csdn.net/liuying1802028915/article/details/85162021
下面我就直接贴图了
1.New Project
接下来选择一些maven的配置:
这样我们就新建了一个全新的Maven项目
项目结构如下:
如上图所示,WEB-INF下面只有一个web.xml , 我们来看web.xml中的内容
Archetype Created Web Application
空空如也,什么都没有
我们再来看看pom.xml 中的内容
4.0.0
com.taoj
springmvcdemo04
1.0-SNAPSHOT
war
springmvcdemo04 Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
springmvcdemo04
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-war-plugin
3.2.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
在pom.xml中,我们看到就只引入了junit 之外在没引入别的东西
当然到这里我们只是新建了一个Maven项目,还没有添加SpringMVC相关的依赖和配置,接下来我们就来添加对SpringMVC的支持
二。添加对SpringMVC的支持
1.我们右键项目 选择第二项 Add Framework Support...
2.我们选择Spring 和 SpringMVC 然后OK
3.接下来它会下来一些对SpringMVC支持的相关东西
4.下载完毕后我们发现项目结构有了一些变化
如上图所示,在WEB-INF目录下,新建了两个配置文件 applicationContext.xml 和 dispatcher-servlet.xml
5.我们分别来看看这两个配置文件中是啥
首先是 applicationContext.xml
啥也没有,我们先混个脸熟,以后在看他有什么作用
接下来是 dispatcher-servlet.xml
也是空空如也,不多说,混个脸熟
三。创建Controller
1.接下来我们要创建一个Controller ,但是maven 项目新建java文件时需要先做如下几步,当然我在 下面这篇博文中有些
传送门: https://blog.csdn.net/liuying1802028915/article/details/85162021
1>在main目录下新建两个Directory (java 和 resources)
2>然后分别Mark Directory as Sources Root(java) 和 Mark Directory as Resources Root
3>相应的java和resources 目录将会改变颜色
我这里就不贴图了,不知道的同学可以去传送门: https://blog.csdn.net/liuying1802028915/article/details/85162021
2.接下来我们在java目录下新建一个 java文件 com.taoj.controller.HelloController
如上图,我要在HelloController的上面添加@RequestMapping 注解,但是发现还没有该注解,哦,我还没有导入相关依赖
3.接下来,我们要在pom.xml 中引入 SpringMVC相关的依赖
我们先引入如下依赖,暂时还没有引入数据库的依赖
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-web
4.3.13.RELEASE
org.springframework
spring-webmvc
4.3.13.RELEASE
org.springframework
spring-context
4.3.13.RELEASE
org.springframework
spring-test
4.3.13.RELEASE
4.接下来,我们 接着写Controller
package com.taoj.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/hi")
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String sayHello(){
return "Hello---World--Haidi";
}
}
这是新建的第一个Controller ,接下来我们要访问这个Controller, 最近看了一部电影《海蒂和爷爷》,非常治愈和感人,所以这里引入了 haidi
5.那下一步我们就要添加一个tomcat
然后配置成功,点ok, 启动tomcat
6. 访问项目 http://localhost:8080/mvc/
这里访问的是 WEB-INF 下的 index.jsp
访问成功,下面我们来访问一下刚刚写的controller
访问: http://localhost:8080/mvc/hi/hello.form 结果如下图:
404,找不到这个请求,我们回想一下,光写了Controller,但是我们的Spring 还不认识,我们少了一步,少了注入,我们这里既然用到了@Controller注解,那么就得需要注解扫描配置
7.在 dispatcher-servlet.xml 添加注解配置
dispatcher-servlet.xml 全部如下:
然后重启项目
访问: http://localhost:8080/mvc/hi/hello.form 结果如下:
看 已经返回了,至此一个简单的Maven + SpringMVC 项目就完成了
那么我们如何访问 jsp呢
8.在HelloController 中添加一个openJsp的方法:
package com.taoj.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/hi")
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String sayHello(){
return "Hello---World--Haidi";
}
@RequestMapping("/say")
public String openJsp(){
return "say";
}
}
然后再dispatcher-servlet.xml 中添加jsp 解析器
然后再webapp目录下 新建 jsp目录,在jsp目录下,新建一个say.jsp
I say that I love you
然后重启项目
访问 http://localhost:8080/mvc/hi/say.form 结果如下:
看 我们 看到了say.jsp中的内容。
大功告成
不积跬步,无以至千里
不积小流,无以成江海