第十七章第四个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:\DevInstall\apache-tomcat-6.0.39</home>

        </container>

        <configuration>

            <type>existing</type>

            <home>D:\DevInstall\apache-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

⑤点超链接进行必须设置

⑥最终生成的工程的结构

maven的核心概念——创建war工程的更多相关文章

  1. 理解maven的核心概念

    原文出处:http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 好久没进行java方面的开发了,最近又完成了一个java相关的 ...

  2. Maven学习(四)-- Maven的核心概念

    摘自:http://www.cnblogs.com/xdp-gacl/p/4051819.html 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1. ...

  3. maven的核心概念

    1 简单的核心概念 1.1 坐标 groupId.artifactId.version,很简单,这三个坐标定位到了该依赖的位置,有了它们就可以下载该依赖了. 1.2 依赖 如果一个jar包使用了另外一 ...

  4. maven的核心概念——继承

    15.1 为什么需要继承机制 由于非compile范围的依赖信息是不能在“依赖链”中传递的,所以有需要的工程只能单独配置.例如: Hello <dependency> <groupI ...

  5. maven的核心概念——生命周期

    第十一章生命周期 11.1 什么是Maven的生命周期 ●Maven生命周期定义了各个构建环节的执行顺序,有了这个清单,Maven就可以自动化的执行构建命令了. ●Maven有三套相互独立的生命周期, ...

  6. Maven入门-2.Maven一些核心概念介绍

    1.Maven仓库2.Maven坐标3.Maven插件和目标4.Maven生命周期4.1 clean:清理项目4.2 default:构建项目(重要)4.3 site:建立项目站点 1.Maven仓库 ...

  7. maven的核心概念——依赖

    一.STS集成maven(以下是mac版的STS) 1.点击Spring Tool Suite,点击preferences maven中的installations 点击add,选择对应的路径即可 点 ...

  8. maven的核心概念——POM

    Project Object Model:项目对象模型.将Java工程的相关信息封装为对象作为便于操作和管理的模型.Maven工程的核心配置.可以说学习Maven就是学习pom.xml文件中的配置. ...

  9. Maven 梳理 - 核心概念

    Maven坐标 依赖配置 依赖范围 依赖范围scope用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下: 1.compile: 默认编译依赖范围.对于编译,测试,运 ...

随机推荐

  1. centos6安装lamp

    1.安装Apache [root@localhost ~]# yum -y install httpd 设置开启自启动 [root@localhost ~]# chkconfig httpd on 启 ...

  2. wordpress 如何正确升级

    http://www.admin5.com/article/20141230/578710.shtml 正确的版本升级应该是,备份数据库和文件,然后禁用所有的插件后在执行升级.这样也避免不了升级过后启 ...

  3. 关于Icon,Image,ImageIcon的简单的对比参考

    Icon: Icon位于javax.swing包中,它是一个接口 public interface Icon,介绍为:一个小的固定大小的图片,通常用于装饰组件 有三个方法: int getIconHe ...

  4. Spark API 之 map、mapPartitions、mapValues、flatMap、flatMapValues详解

    原文地址:https://blog.csdn.net/helloxiaozhe/article/details/80492933 1.创建一个RDD变量,通过help函数,查看相关函数定义和例子: & ...

  5. gcc和g++的区别:安装、版本、编译(转)

    用以下命令: yum install gcc 安装的只有gcc,而不会安装g++.gcc是编译器合集,而gcc-g++或简称g++则是C++编译器.gcc成为了编译器的选择器.gcc通过识别被编译的源 ...

  6. Python 高级网络操作 - Python Advanced Network Operations

    Python 高级网络操作 - Python Advanced Network Operations Half Open Socket, 一个单向的 socket 被称为 half open sock ...

  7. SAXParseException Content is not allowed in Prolog (前言中不允许有内容)

    解析 XML 文件的时候,如 Mybatis 的 Mapper 文件,有时会出现 org.xml.sax.SAXParseException 前言中不允许有内容 的异常,英文就是 Content is ...

  8. 编译安装nginx提示./configure: error: C compiler cc is not found

    1 编译安装nginx提示如下 ./configure: error: C compiler cc is not found 2 解决办法 yum -y install gcc gcc-c++ aut ...

  9. 1236 - Pairs Forming LCM

    1236 - Pairs Forming LCM   Find the result of the following code: long long pairsFormLCM( int n ) {  ...

  10. CentOS 7.6下安装 NVM 管理不同版本的 Node.js

    学习网站:https://www.linuxidc.com/Linux/2019-10/160918.htm