首先Eclipse需要集成好Maven和tomcat,才能进行下面的操作。
File -> New -> Project -> Maven -> Maven Project -> Next -> Next -> maven-archetype-webapp -> 输入Artifact Id -> Finish
此时这个工程会报错:
The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path.
**解决方法:**将tomcat下面的一个jar包引入
**操作步骤:**选中工程 -> 右键点击Properties -> Java Build Path -> Libraries -> Add Library… -> Server Runtime -> Apache Tomcat v8.5(这个是你下载的版本号)-> Finish
此时依然有一个Warning:
Build path specifies execution environment J2SE-1.5.There are no installed in the workspace that are strictly compatible with this …
这是因为我这里采用的JDK是1.8版本,所以需要进行修改。
操作步骤:
点击pom.xml -> 在
之间,添加一个maven的编译依赖工具
添加的是红框内的内容,由于已经在
里面了,所以将
去掉
中的内容指的是这个plugin是跟JDK 1.8联系在一起的。
此时看一下效果,操作步骤为:
右键点击工程 -> Maven -> Update Project… -> OK
可以发现项目已经没有警告了,此时工程多出了两个Folder,这是Maven项目的一个框架,但是还少了一个test Resouces的Folder。
操作步骤为:
右键点击工程 -> New -> Source Folder -> 输入Folder name(我这里是src/test/resources) -> OK
右键点击工程 -> Java Build Path -> Source -> 改变src/test/resources的Output folder的路径,跟src/test/java的Output folder的路径一致
此时就完全符合Maven框架了
java web分为静态和动态两种,在这里是动态。
查看方法:
右键点击工程 -> Properties -> Project Facets -> Dynamic Web Module
这里的Dynamic Web Module默认是2.3版本,但是用更新版本会使网页拥有更好的性能,这里选择3.1版本。但是,这里不能直接选,如果直接选择3.1版本,会报一个错误:
Cannot change version of project facet Dynamic Web Module to 3.1.
解决方法:
通过后台去改变
操作步骤:
通过Resource去查看这个工程的路径,在文件夹中找到当前路径 -> .settings -> org.eclipse.wst.common.project.facet.core.xml -> 将
修改为
此外,还需要改变web.xml文件下的规范,在
中添加如下约束:
<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" metadata-complete="true">
此时就可以开始运行工程了,在Server窗口中,右键 -> Add and Remove -> add -> OK
然后,右键 -> clean…(重新发布一遍web项目)
右键 -> Start -> 在浏览器中输入"localhost:8080/工程名称/index.jsp“
也可以直接输入"localhost:8080/工程名称“进行访问
此时网页就会出现Hello World!
这是因为,在没有指定访问路径的情况下,使默认访问根目录下的index.jsp页面的。
当然,也可以自己指定,具体方法为:
在web.xml文件中,添加如下代码:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
这个表示:如果存在index.jsp页面,就默认访问index.jsp页面;
如果不存在index.jsp,但是存在index.html,就默认访问index.html页面;
如果两个页面都不存在,则返回404.