今天尝试使用maven建web项目,纪录一下步骤。
第一步:
[选择MavenProject点击下一步
勾选第二项点击下一步
选择maven-archetype-webapp下一步
填写项目坐标,Finish,项目建好了
**在这里存在一些问题
(1)有错,这是因为没有jsp和servlet的api
(2)项目文件结构不对**
第二步:
解决这两个问题
首先在pom.xml添加如下依赖
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2.1-b03</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
然后在项目下新建
src/main/java
src/test/java
src/test/resources
三个文件夹 补齐缺失的文件结构
可以看到报错消失了
第三步
修改jre
在项目上右键 选择Build Path如图
点击edit
选择机器上装的java版本,我是1.8
然后点project facets
先把Dynamic web module去掉 然后把java选成1.8版本Apply(一定要先apply否则Dynamic web module改不成3.0)
然后在将Dynamic web module勾选上改成3.0,下面会有个
further configuration available,点击
一定要打勾,否则会报错
Apply -> OK
还是会报错,错误信息
web.xml is missing and is set to true
第四步
解决在pom.xml<build></build>添加
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
错误消失
然后把webcontent下的web.xml复制到myapps/web-inf下
第五步
把index.jsp修改如
<html>
<body>
<h2>Hello World!</h2>
<a herf="HelloServlet">Hello</a>
</body>
</html>
然后新建个HelloServlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>hello</title></head>");
out.println("<body><h1>HELLO</h1></body>");
out.println("</html>");
}
在web.xml添加
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.test.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
第六步
配置部署路径
右键BuildPath选择Deployment Assembly
删掉webcontent 行
新增 /src/main/webapps /行
新增Maven Dependencies
配置好如下
Apply->OK
第七步
运行 Run As
Run on server
效果图
大功告成!!!!