看了网上一大堆教程,感觉就是,都尼玛坑!误人子弟,浪费光阴…
不说了,作为报复,我也来误人子弟一波。
环境介绍:
本机环境 – Win10 – 企业版 1607 (2017.jan)
JDK 1.8.0_121
下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
IntelliJ IDEA 2016.3.4 版本
下载地址:https://www.jetbrains.com/idea/download/#section=windows
Maven 3.3.9
下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
下载地址:https://maven.apache.org/download.cgi
Tomcat
下载地址:http://tomcat.apache.org/download-90.cgi
本来还有Mysql…我这边没安装。如果后期用到了会给上安装方法。
接下来是环境变量配置:
打开 高级系统设置 里面的环境变量,配置如下环境。
最后会给你们看我的全部环境变量和验证成功的图。
1. Java环境 – 我的安装位置: C:\Program Files\Java\jdk1.8.0_121
依步骤安装即可,然后配置系统环境变量。
1.1 配置用户环境变量 JAVA_HOME,对应值: C:\Program Files\Java\jdk1.8.0_121
1.2 配置用户环境变量PATH,增加一个值:%JAVA_HOME%\bin
2. Maven配置 – 我的安装位置: C:\Program Files\apache-maven-3.3.9
它的下载得到的是zip文件,在相应的文件夹下面解压即可,然后配置系统环境变量。
2.1 用户环境变量 MAVEN_HOME,对应值 C:\Program Files\apache-maven-3.3.9
2.2 用户环境变量PATH,增加一个值,%MAVEN_HOME%\bin
3. Tomcat配置 – 我的安装位置: C:\Program Files\apache-tomcat-9.0.0.M17
下载得到Zip文件,在相应文件夹下解压。
3.1 配置用户环境变量 TOMCAT_HOME,对应值 C:\Program Files\apache-tomcat-9.0.0.M17
3.2 启动运行tomcat… ——请注意这里没有增加用户环境变量。
在 C:\Program Files\apache-tomcat-9.0.0.M17\bin 里找到 startup.bat (可能没有后缀,如果你设置的不显示)
然后最好以管理员身份运行 – PS.这里我即使以管理员身份运行,还是失败了。
3.3 安装tomcat服务…
打开CMD(管理员模式)
进入Tomcat安装目录的bin目录下
执行: service.bat install
完了之后运行 tomcat9w.exe 这个文件
点击 Start
然后 打开 http://localhost:8080/
如果失败了 – 对不住,我误人子弟了…反正我到这里成功了…
4. 安装 IntelliJ IDEA
4.1 下载 Ultimate – Web, mobile and enterprise development 这个版本,安装。
4.2 进入这个网站,获得一个注册码 – http://idea.lanyus.com/
4.3 如果你有点闲钱,可以捐赠。
4.4 安装完毕…
5. 个人环境变量公布
6. 验证全部安装成功:
验证Java: 命令行输入Java -version 得到版本信息 。
验证Maven:命令行输入 mvn -version 得到信息。
验证Tomcat:启动服务,打开 http://localhost:8080/
验证IntelliJ IDEA (后面称之为 IDEA)…你能启动就成功。
接下来,我们就开始一个SpringMVC 的 Demo…
1.打开IDEA,创建项目。
2. 填写相应信息,第一个填自己的就好。
3. 选择Maven版本,这里我选择的是自己的路径,当然也可以用内部集成的。
加上的东西可以避免翻墙下载,会快很多。
重要更新:更改UserSettingFile… 即图中第二项。
我这里选择的是我自己的maven的设置项,这里需要将设置文件变成自己修改过的,库改为阿里云的库,如下图。
代码如下:
1 2 3 4 5 6 7 |
<!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> |
这样在后面加载项目配置库的时候速度会快很多!!!
4. 项目名称
5.注意这里,最后创建完了之后,选择 允许自动导入…
到这里项目创建部分就完毕了。
接下来我们进入项目配置阶段。
首先我们来看看一个刚创建出来的项目是什么样子的。
目录结构如下图所示, 现在我们需要:配置 外部拓展库 – External Libraries
图如果太大了,可以拉到新窗口看。
这里看到我上图标识出了三个位置。。。
pom.xml
External Libraries
dependencies – dependency
这里我们就是要修改pom.xml文件里的依赖项 dependencies 来增加我们的 External Libraries 外部拓展库。
1. 配置外部拓展库
这里给大家推荐一个网站用来查拓展库的版本:http://mvnrepository.com/
然后,我们开始添加 SpringMVCDemo 需要的外部拓展库
1.1 添加 spring-webmvc :
在 网站上查找 spring-webmvc 得到如下信息:
这里我只截取出来了一个…这就是我们想要的。
点击进去后看到很多版本信息:
这里可以看到很多版本信息,用户数量,时间。
这里我们选择最高的发布版本 – 4.3.6.RELEASE 点击进去。
这里请注意,因为我们使用的是Maven,所以不要选错了版本哦。
然后拷贝 dependency 这一段。
复制粘贴到我们的 pom.xml 文件里的 dependencies 里面去。
就像这样:
可以看到,添加了这一段之后,多了8个依赖项…
PS. 这里如果不在前面使用 重要更新 切换到阿里云的库,就他妈特别慢。
PS. 如果阿里云的库坏了,就找其他的库。这我不能保证永久有效。
这个流程相信大家已经学会了,接下来我们更新一下 junit 这个库。
1.2 更新 junit
这里找到最新版 – 自己去找,刚才都教过了!
我这里是 4.12 ,然后直接复制过来。
对比刚才,注意到,少了一项 :
<scope>test</scope>
这里立个Flag…可能会对后面的有影响,也可能没有。
到这里大家应该都会配置了对不对?
然后注意到!!!还有一个jdk外部拓展,就是你的Java…我这里是1.8…
这其实不重要,就是怕某些人没有这玩意。
PS. 几年后如果版本换了之后,可能外部拓展的数量也会有所改变,这个不用担心。
PS.这里少配置了一个 jstl …提前说一下。会报一个错误的。
在编码之前,我们需要改变工程的目录结构。
修改工作:
1. 打开 Module Setting
在 SpringMVCDemo(项目名称 – 上图灰色选中的位置)这里点击右键,选择 Open Module Setting(F4).
2. 做出相应修改
2.1 修改Language Level 为 Project Default
2.2 添加 java 文件夹。方法如下:
- 右键main
- 选择New Folder
- 输入java,点击ok
- 选中java,修改为 Sources
- 完成
如图:
执行步骤1 和 步骤2 得到结果3
然后 Apply OK…结束 – 这里不上图了。
接下来我们开始编码。
1. 修改 web.xml 文件 – src\main\webapp\WEB-INF\web.xml
未修改前:
修改后内容如下(PS.做了全部替换):
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"?> <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_3_1.xsd" version="3.1"> <display-name>SpringMVCDemo Web Application</display-name> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> |
可以看到,我们做了如下修改:
1. 增加了XML版本头部
2. 修改了 web-app 头部
3. 增加了 servlet
4. 增加了 servlet-mapping
大致就是这四项。
接下来,为了能够处理中文的post请求,再配置一个encodingFilter,以避免post请求中文出现乱码情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
全部完成后如下图:
2. 创建 xxx-servlet.xml 文件,或者叫 XXX-servlet.xml
然后输入名字,点击OK…
3. 在src\main\java中新建一个用于保存controller的package:
输入包名,确认。
然后注意下,这里的 com.tank 是我们前面配置的时候用到的 GroupId的名字呀…
4. 在新建的 com.tank.controller 包中新建java类MainController(名称随意):
然后修改内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package com.tank.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * Created by TK-Xiong on 2017/2/28. */ @Controller public class MainController { @RequestMapping(value = "/", method = RequestMethod.GET) public String index() { return "index"; } } |
5. 修改 xxx-servlet.xml 文件
这里要求纯手打!!!
这里要求纯手打!!!
这里要求纯手打!!!
重要的事情说十遍都不为过…
这里一定要记得是纯手打,为了防止大家不是手打的…我没有给出内容,只有截图。抱歉了。手打吧。
从下面的代码纯手打开始,上面的它会自动生成的。
PS. 这里有一行我敲错了,后面提了出来。
这里的第 27行 应该是: <property name=”prefix” value=”/WEB-INF/pages/“/>
注意这里斜线的位置和数量…
6. index.jps文件
我们删除 webapp 目录下的 index.jsp 文件,在WEB-INF目录下新建文件夹pages,再在pages目录下新建 index.jsp,并修改为如下所示:
这样项目就配置完了。
接下来我们要用Tomcat来查看项目了。
请注意,如果这时候你运行的Tomcat还没有关闭,那么请stop。。。
接下来按照步骤做:
1. 点击界面右上角的向下箭头,选择 Edit Configurations:
2. 点击左上角的”+“号,选择Tomcat Server,再选择Local:
3. 找到Tomcat 本地包 – 这里我因为配置了很多次,所以可能和你们打开不一样。
4. 这里还有个小错误。
可以看到这里是有个警告的,我们还需要将项目部署到 Tomcat 服务器中。
然后各种 OK Apple OK 就完了。
然后这里点击运行…
得到如下界面:
这里发现它报错了…放心后面错误还挺多,不要灰心。发现了 jstl这个词…它好像是一个包。
我前面加包的时候就提到了,这里少配置了一个jstl哦…
现在,我们回到 pom.xml文件里,增加这个包。
这里就看你之前学会没有了,去仓库查,复制拷贝到pom.xml…
加油!解决这个错误。
这里版本不一定是1.2 …去查查吧。
然后再运行,如果有弹框则Restart…
这回的问题是404…然后回去看一下,咦文件也在。东西都齐啊…忽然一想,咦!
我的文件是 WEB-INF/pages/index.jsp啊…
不是 WEB-INF/pagesindex.jsp !!!
这是我目前碰到的实际问题,然后我们看看 mvc-dispatcher-servelt.xml 文件
可能是少了个斜线吧…
改为:
1 |
<property name="prefix" value="/WEB-INF/pages/"/> |
好了… 基础版的配置完毕…
有任何问题,可以留言…尽力帮忙。
哇,看了这么多教程,还是这个靠谱,终于好啦。
很详细,良心教程!
第一次评论献给大佬,成功了