网上找了很多关于IDEA创建Spring+Gradle的项目,可能这个东西有点太基础了吧,很多东西都是一笔带过,所以找了很多才理解过来,我也算是初学,就记录下来,这是我的第一篇,写的不好请见谅
1-项目创建
file->new->project,找到Gradle,勾选Java和web,然后next
然后就是给你的项目取名字啦,在这里GroupID和ArtifactId我是随便给的,当然也会有规范的写法,这个就大家自己去了解了,我这里给的都是SpringMVC,如果不想用这个名字的可以给成其他的
这一步就要注意了,选择gradle,上面的一个是IDEA自带的,下面的是自己本地安装的,如果没有安装的话也可以使用IDEA自带的,只是会比较慢,然后继续下一步
这里就是项目名称和项目路径了,没有问题的话就直接下一步
然后项目建好等待gradle刷新完毕项目结构就是这样的了,但是我们比没有发现任何配置文件,包括web.xml都没有,是的,这些全都要自己手动创建
2-Tomcat配置
咱们先不管这个多,先来吧tomcat配好,其他的等会再说
配置完成apply,ok,然后我们来添加配置文件,为什么要先陪tomcat然后再来添加配置文件呢,因为配完tomcat可以直接生成web.xml 文件啊,下面来看操作
注意啦,图上框出来的路径是没有修改的,是需要我们修改的
路径的选择就直接定位到webapp下面,别忘了在最后面加上\WEB-INF\web.xml
完成了之后就是这个样子了,里面除了头文件什么都没有
3-jar包导入
我们先别急着丰富里面的内容,我们现在是创建gradle+SpringMVC项目,依赖包是少不了的,
最重要的两个包:spring-context
spring-mvc
在这里我们用的gradle啊,所以本来就不需要什么导包操作,直接加两句话就行了
compile group: 'org.springframework', name: 'spring-webmvc', version: '5.0.4.RELEASE'
compile group: 'org.springframework', name: 'spring-context', version: '5.0.5.RELEASE'
等待更新完成之后可以看到jar包自动给加进来了,真的是感觉很方便啊
4-完善配置
好了,现在开始配置springMVC的配置文件吧,在这里我们也是自己手动添加配置文件的
在resource下面新建一个这样的东西,给他取个名字,取名字什么的我就跳过了,我给的名字是spring-mvc.xml
建完之后发现里面也是空的,ok,我们现在就来丰富它
我们来给它加上这样的一些配置
在这里还是要说一下,我刚才在java文件夹下面建了一个org.zh.springmvc.controller这样的包,这个我将会用来放Controller控制器,也是上面扫描配置的路径
好了现在我们还有一个web.xml文件没有配好,我们加上这样的一些玩意
这里的静态资源是可以有多个的,这里配置这个/代表拦截所有url请求,拦截的是url,因为项目发布后请求的所有资源都是以url来进行请求的,也就是说在请求静态资源的时候系统会以为是一个普通的请求,然后映射到后台发现没有这个请求地址,然后前台将拿不到资源数据,也就是所有的静态资源将不能被访问的,如果需要使用到静态资源需要加上其他的配置,这个以后我发新的博客会讲到,如果想详细的了解的话可以自己去查一下,只要是这样写就ok了
当然里面还有很多基本的配置我没有写,因为我觉得那些不是很重要,跟我们现在搭建这个项目关系不是很大,我们现在只需要理解这些就行了
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
SpringMVC
/
到现在为止我们算是配置完了,现在我们需要编写一个控制器了,还记得我们之前在java文件夹下面建的子文件夹吗?我们在里面加上一个java文件
@Controller
public class IndexController {
@RequestMapping("home")
public String home() {
return "home";
}
}
同时我们还要建一个page文件夹,里面再建一个home.jsp
为什么要建这个呢,因为这个在之前的配置里面有,配置spring-mvc的配置文件可以看到最后的两段,意思就是我们后台控制器返回的字符串或者视图模型会自动的在webapp下面的page文件夹里面找对应的jsp文件,例如返回 一个字符串 index ,那么就会自动的去匹配page文件夹下面的index.jsp
注意一定要在类上面打上@Controller的注解哦,只有打了这个注解我们的程序才会知道它是一个控制器
好了,现在我们来启动tomcat来看一下效果吧
这是我们进来时的样子,现在在浏览器上面敲上/home,然后回车,出现下面的页面就算是成功啦
你们在创建成功后敲/home会出现500错误,NoClassDefFoundError,是因为还缺少一个jar包依赖,这个也是我刚发现的就不想去改前面的东西啦,就直接贴在这吧,其实是因为我在spring-mvc配置里面配了所以才会出现这个问题的,但是我这个工程以后还要用,所以就配了,解决方法是在gradle文件里面再加上一段
compile group: 'javax.servlet.jsp.jstl', name: 'jstl-api', version: '1.2'
我比较注重以代码的方式为主,所以理论的会很少,因为我觉得有些东西只要会用就可以了,如果要深究的我觉得不是一个普通的程序员该做的事情,当然能把原理弄清楚的话不管是在解决问题方面还是写代码方面都是会有很大的帮助的,所以如果对理论什么的感兴趣的可以自己去查一下资料
这是我一次写博客,以后会在现在这个工程上继续做演示其他东西的,也是为了给自己有点积累,以后会不定时更新,因为工作原因不知道什么时候会更新的
转载请标明出处
https://blog.csdn.net/qq_33733799/article/details/79816854
项目已经上传到GitHub上了,由于是一个练习项目,所以会有其他的东西,不过不要紧,大家只看自己需要的地方就行GitHub传送门