第十七章第四个Maven工程(war工程)
17.1 创建步骤
①第一步:创建maven web工程
②第二步:修改web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> </web-app>
③找不到HttpServlet错误
如果看到JSP报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path可以加入如下依赖解决
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency>
④第二步:依赖MakeFriends
⑤第三步:建立测试JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.atguigu.maven.MakeFriends"%> <% MakeFriends makeFriends=new MakeFriends(); out.println(makeFriends.makeFriends("wanglipeng")); %>
⑥EL表达式没有提示问题
${pageContext}这个EL表达式中通过pageContext对象访问reuqest属性时本身是应该有提示的,但如果没有的话加入下面依赖即可
<dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1.3-b06</version> <scope>provided</scope> </dependency>
17.2 Web工程自动部署
除了在Eclipse中使用Run as→run on server的方式运行Web工程,还可以配置Web工程的自动部署。
①配置自动部署
<build> <finalName>web</finalName> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.2.3</version> <configuration> <container> <containerId>tomcat6x</containerId> <home>D:DevInstallapache-tomcat-6.0.39</home> </container> <configuration> <type>existing</type> <home>D:DevInstallapache-tomcat-6.0.39</home> <!-- 如果Tomcat端口为默认值8080则不必设置该属性 --> <properties> <cargo.servlet.port>8989</cargo.servlet.port> </properties> </configuration> </configuration> <executions> <execution> <id>cargo-run</id> <phase>install</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
②部署Web项目的命令:mvn deploy
第十八章创建MavenWeb工程的完美方式
①创建简单的Maven工程,打包方式选war包
②调整JRE版本
③取消Dynamic Web Module的勾选
④重新勾选Dynamic Web Module
⑤点超链接进行必须设置
⑥最终生成的工程的结构