参考博客:http://geeksun.iteye.com/blog/2179658

http://www.bubuko.com/infodetail-387387.html

----------------------------------------------------

一、配置maven

二、创建一个maven项目

2.1

2.2

2.3 起好GroupId、ArtifacId

2.4 这个是选择自己电脑上的maven目录、setting.xml及本地仓库

2.5 起个项目名(注意:Project location的地址是E:\Spring3\mavenDemo2--因为工作区间有其他项目,而不是把该项目直接部署到E:\Spring3目录。)

2.6 左边的是新建的界面,还有一些配置要完成。先点击右边的Enable Auto-Import

2.7 配置服务器

2.8 配置的服务器是本地的Tomcat

29. 给服务器起个名字(随便取),下面的Warning 表示此服务器还没有部署项目

30. 现在给这个Tomcat部署此项目

31. 部署的项目是以exploded结尾的war包

32. 配置好服务器后,看下下面红框中的内容——这是服务器在运行前要做的事:Make是编译的意思;Build...是发布指定的项目

33. 配好服务器,现在来配置一些项目的基本配置。下面的Project中的Project compoler output表示项目的编译地址,这里不用管它(默认的maven项目的编译地址是target目录,也就是这里的out目录)

34. 点击左边的Modules,现在为此项目配置Tomcat的依赖包

35.点击Add Selected

36. 点击左边的Artifats,选择以exploded结尾的war包(这和刚才部署Tomcat时Tomcat的部署项目一致)

说明:IntelliJ IDEA中的Artifact指的是你的项目的一种输出形式,一般项目发布的输出形式都是.war格式打包的。

三、简单测试一下

3.1 配置pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wql</groupId>
<artifactId>mavenDemo2</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>mavenDemo2 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency> <dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<finalName>mavenDemo2</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</project>

3.2 在src目录下新建java包

3.3 设置成Sources Root

3.4 在java包中新建包、java文件(Test.java)

package com.wql.test;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; /**
* Created by Administrator on 15-12-2.
*/
@WebServlet("/mytest")
public class Test extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// System.err.println("---");
req.setCharacterEncoding("UTF-8");
String name=req.getParameter("name");
req.setAttribute("name",name);
System.out.println(name);
req.getRequestDispatcher("index2.jsp").forward(req, resp);
} }

3.5 在webapp目录下创建jsp文件 (注意:在idea14创建的maven项目中的webapp目录下创建jsp文件不支持EL表达式,所以加上<%@ page isELIgnored="false" %>,原因及解决方法目前还不知道。)

<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 15-11-3
Time: 上午9:12
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!-- 支持EL表达式 -->
<%@ page isELIgnored="false" %>
<html>
<head>
<title></title>
</head>
<body>
<form action="mytest" method="post">
<input name="name">
return:${name}
<input value="提交" type="submit">
</form>
</body>
</html>

3.6 运行,结果如下(输入“测试”)

后记:此博客遗留两个问题:1.webapp目录下的WEB-INF里的web.xml的版本是2.3的,比一般建立的非maven项目WebContent目录下的WEB-INF里的web.xml低(2.5版本),这样在里面一些标签不支持,不知道如何设置;2.在webapp目录下创建jsp文件不支持EL表达式,建一个jsp加一个<%@ page isELIgnored="false" %>也比较麻烦,不知如何解决。

--------

1.已解决。解决方法:把正常的web.xml版本覆盖到webapp目录下的WEB-INF里的web.xml即可。

2.已解决。解决方法如下:

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>

关键是将<?xml version="1.0" encoding="UTF-8"?>替换原来默认的描述文件。

总结:其实上面的2个问题就一句话:将web项目的web.xml的“xml version” 及web-app描述信息进行覆盖maven项目默认生成的描述信息。(如果能在创建时自动选择就好了)

idea14使用maven创建web工程的更多相关文章

  1. maven创建web工程Spring配置文件找不到问题解决方案

    使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [ap ...

  2. maven创建web工程Spring配置文件找不到

    使用maven创建web工程,将Spring配置文件applicationContext.xml放在src/resource下,用eclipse编译时提示class path resource [ap ...

  3. 在Eclipse中使用Maven创建Web工程

    在Eclipse中使用Maven创建Web工程 1.创建maven Project工程,使用maven-archetype-webapp 2.在pom.xml文件中,设置打包类型为war <pa ...

  4. 初次使用maven创建web工程发现只有一个idea目录,src,webapp目录都不见了,解决方案

    修bug系列2之 初次使用maven创建web项目的src目录不知所踪 窗外下着下雨,屋内的我学着maven,本以为轻轻松松,没想到还是遇到了bug.好了不说了,来看看我是怎么解决的. 在初次使用ma ...

  5. Maven创建Web工程并执行构建/测试/打包/部署

    创建工程基本参考上一篇Java Application工程,不同的是命令参数变了,创建Web工程的命令如下: mvn archetype:generate -DgroupId=com.jsoft.te ...

  6. maven创建web工程,并导入到eclipse中

    maven版本:3.1.0,eclipse版本:4.3 JDK:1.7 创建工程名是sa的maven工程 mvn archetype:create -DgroupId=com.bing-Dartifa ...

  7. 用maven创建web工程

    1.打开eclipse,选择File->New->Other菜单,弹出下面的对话框,在Wizards中输入maven,会过滤出和maven相关的菜单,选中Maven Project菜单,然 ...

  8. 基于eclipse+maven创建web工程

    Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new——>other,如下图找到maven project 2.选择maven project,显 ...

  9. elcipse 中利用maven创建web工程

    如何创建: http://huxiaoheihei.iteye.com/blog/1766986 遇到的问题: 1: 如果spring MVC配置了 <servlet> <servl ...

随机推荐

  1. 每天一道LeetCode--172. Factorial Trailing Zeroes

    Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...

  2. AIDL实现Android IPC

    1.AIDL文本解释 在软件工程中,接口定义语言(IDL)已经成为通用术语,是用来描述软件组件接口的特定语言.在Android中,该IDL被称为Android接口定义语言(AIDL),它是纯文本文件, ...

  3. SharpZipLib 压缩后传输给第三方平台无法识别问题

    问题描述:在项目中需要将文件压缩然后传输给三方进行彩信发送,使用SharpZipLib 进行压缩,原先使用J#进行压缩处理,但是用SharpZipLib压缩后的zip文件传输过去之后,总会报发送失败. ...

  4. 实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D

    我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用.这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触 ...

  5. 常用DOM笔记

    1,获取元素方法: (1),获取单个,返回一个元素 element.getElementById()//最快,实时 element.querySelector() (2)获取多个,返回一组 eleme ...

  6. javascript笔记—— call 简单理解

    call 方法 请参阅 应用于:Function 对象 要求 版本 5.5 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.argN ...

  7. 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

    HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和Fi ...

  8. Contiki学习入门之概览

    Contiki是专为物联网领域而设计的开源操作系统,适用于联网嵌入式系统和无线传感器网络.由瑞典计算机科学学院的Adam Dunkels团队开发.它有以下几个特点. 1. 网络标准 contiki提供 ...

  9. C/C++编译过程理解【转】

    转载自:http://www.cppblog.com/woaidongmao/archive/2008/11/07/66254.aspx 今天,通过自己的努力终于对C/C++的编译过程有了个粗略的了解 ...

  10. 对C#调用C++ dll文件进行总结

    在实际项目工作中,经常用到C#调用C++ 或者C编写的dll文件. dll支持一般函数声明和类的定义声明,但是一般为了简化,都是 采用函数声明的方式.这里主要并不是写 dll的编写. 先在vs中创建一 ...