1.打开idea create project 如下方式选择对应项。
2.输入GroupId,ArtifactId,next。
3.使用本地的Gradle。没有的可以网上找安装教程。也可以使用默认的,idea自带的。
5.现在开始配置tomcat。
6.右击+号。添加我们的tomcat服务器。
7.这里配置war。补充:在linux上部署时选择war。并将war放置在tomcat/webapps目录下。tomcat会自动解压war并部署项目。
8.配置build.gradle。关于如何配置最新的springmvc框架。请参考此博文。https://blog.csdn.net/hansmu/article/details/101161024(更改最后的版本号即可,建议先不要更改。后面会了在自己更改)。
plugins { id 'java' id 'war' } group 'springmvc' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { // 更换为阿里云镜像源 maven { url 'https://maven.aliyun.com/repository/central' } mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' testCompile group: 'junit', name: 'junit', version: '4.12' // spring-content 为spring核心提供大量扩展 implementation 'org.springframework:spring-context:5.2.2.RELEASE' // spring-webmvc springmvc框架相关的所有类 implementation 'org.springframework:spring-webmvc:5.2.2.RELEASE' // spring-jdbc jdbc数据访问进行封装的所有类 implementation 'org.springframework:spring-jdbc:5.2.2.RELEASE' // JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。 // 缺失此库无法正常解析标签 implementation 'javax.servlet:jstl:1.2' }
说明一下,这里只需要改dependencies和repositiories。改repositiories的原因是因为mavenCentral()的地址在国内下载资源很慢。
9.更新更新!!!
10.file->Project Structure 因为是gradle生成的所以没有web.xml。不知道后面会不会有。在最这一步的时候可以看看webapp目录下是否有WEB-INF/web.xml。
12.这里需要更改下存放的目录地址。它默认是放到.idea目录下。我们需要放到webapp目录下,方便我们的使用。
13.apply应用一下。在进行完这一步,可以试着点右上角的tomcat服务器运行一下。(我当时忘了这里要说明一下,现在改不好改了。点击之后,运行成功的话,会弹出一个网页。表示成功)
失败了的看下错误说明,最后面会给出源码。可以跟着做下去。
14.在项目的webapp下建立一个page目录,再在page目录下建立一个test.jsp文件。
15.新建一个名为springmvc.push.test的包。同时再该包下建立一个springtest.java。
16.在resource创建下springmvc.xml文件。
17.springmvc.xml配置。
<?xml version="1.0" encoding="UTF-8"?>
<!-- context, mvc 的地址可以再对应的External Libraries 下看到-->
<!-- 如context: Gradle:org.springframework:spring-context:5.2.2.RELEASE-> META-INF -> spring.handlers和spring.schemas-->
<!-- 这里的作用是为了导入标签和配置 -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!-- 扫描包下的文件-->
<context:component-scan base-package="springmvc.push.test"/>
<!-- 静态资源访问,例如图片、js文件、css文件等 -->
<mvc:default-servlet-handler/>
<!-- 开启注解 -->
<mvc:annotation-driven/>
<!-- jspViewResolver jsp视图解析器 -->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/page/"/><!-- 后台默认返回视图寻找视图文件的路径 -->
<property name="suffix" value=".jsp"/><!-- 后台返回视图默认添加的后缀 -->
</bean>
</beans>
18.编辑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">
<servlet>
<!-- 这里的servlet-name 要和下面的servlet-mapping里的servlet-name 一样-->
<servlet-name>springmvc</servlet-name>
<!-- DispatcherServlet是前置控制器,职责分派-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 标记容器是否在启动的时候就加载这个servlet-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--配置静态资源拦截-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--这里/则表示访问路径为 localhost:8080/。假如改为 /api/* 则访问路径为localhost:8080/api/...-->
<!--这里还和/resource 文件下的springmvc.xml里 bean的property有关系-->
<!--具体配置要情况,我只能保证自己目前写的能保证大家能运行-->
<!--会放一些相关链接在此,有研究通了的。欢迎留言。也不晓得我这篇文章会不会石沉大海 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
相关参考文章地址:
19.在spring.push.test目录下建立一个test.java。
package springmvc.push.test; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class spingmvctest { // 这里的value 没有 / @RequestMapping(value = "test", method = RequestMethod.GET) public String get() { // 这里是为了测试是否访问了该方法 System.out.println("我被执行!"); // 这里将自己添加.jsp。在resource文件下,我们配置了的。 return "test"; } }
现在我们可以启动的tomcat了。可以看到对应的localhost:8080/test。可以访问了。