文档章节

idea快速创建一个基于maven+git+servlet3.0的项目

harveyno1
 harveyno1
发布于 2017/07/20 23:34
字数 1122
阅读 8
收藏 0
点赞 0
评论 0

一.idea创建一个maven项目

IDEA自身集成了maven,所以不需要单独的去下载和设置

1.点击File->NEW->project,选择maven,然后输入GroupId, ArtifactId ,Version,点击next,最后输入project name,点击完成,groupId建议以域名的形式命名,相当于包名

2.为pom.xml加一些基本的配置

统一编码为utf-8

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

统一源代码和编译输出的jdk版本,这里设置为1.7

<build>
    <plugins>
        <!-- Compile -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

maven所有的plugin都需要添加到bulid/plugin标签下面,所有依赖的plugin都可以到Maven中央仓库下面找到,可以通过以下链接访问:

http://search.maven.org/

如果在使用maven打包时想跳过单元测试,可以添加下面的插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>

至此一个简单的Maven项目就搭建完毕了

二.转为Java Web项目

可以简单的将Maven依赖理解为jar包,不过Maven依赖具有传递性,只需要配置某个依赖,就能获取某个依赖的相关依赖。

转为一个Java Web项目通过以下几个步骤:

1.在main目录下,添加webapp目录

2.在webapp目录下,添加WEB-INF目录

3.在WEB-INF目录下,添加web.xml文件

这时候idea会有一个Configure的提示,单击后有个提示框,点击ok,将当前项目变为Web项目,在web.xml中添加servlet3.0的引用

<?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">
</web-app>

添加Java Web的依赖

因为web项目是需要打包的,所以必须要在pom.xml文件里设置packing为war

<packaging>war</packaging>

接下来就需要添加Java Web Servlet JSP JSTL的引用

<dependencies>
    <!-- Servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <!-- JSP -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
    </dependency>
    <!-- JSTL -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <scope>runtime</scope>
    </dependency>
</dependencies>

需要说明的是

1.如果某些依赖只参与编译,而无需参与打包,例如tomcat自带了servlet和jsp对应的jar包,可将scope设置为provided

2.如果某些依赖只是运行时需要,但无需参与编译,可讲scope设为runtime

至此Maven的Java Web项目搭建完毕,下面进入开发阶段,模拟一个简单的场景,写一个HelloServlet,接收GET类型的hello请求,转发到/WEB-INF/jsp/hello.jsp页面,在hello.jsp页面上显示经典的hello world

java文件如下

@WebServlet("/hello")
public class HelloServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String say = "Hello World!";
        req.setAttribute("say", say);
        req.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(req, resp);
    }
}

JSP如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title></title>
</head>
<body>
${say}
</body>
</html>

然后配置tomcat,这个网上教程很多,这里不做过多解释,启动tomcat通过配置的url可以访问到hello.jsp

三.交给git托管

首先在项目根目录新建一个.gitignore的文件,可以过滤到一些不需要交给git托管的内容,如maven的target目录,idea或者eclipse的工程文件

# Maven #
target/

# IDEA #
.idea/
*.iml

# Eclipse #
.settings/
.metadata/
.classpath
.project
Servers/

然后在idea里点击VCS->Import into Version Control->Create Git Repository,弹出的对话框选择当前项目的根目录,点击ok,idea就为我们创建了一个git本地仓库

然后可以在VCS->GIT->add将忽略的所有文件添加到本地仓库,然后VCS->GIT->Commit File,提交代码到本地仓库

然后就要将本地的仓库推到远程,我们需要新建一个远程仓库,我选择的是使用oschina,也可以选择用github,我们在oschina中新建一个项目,然后在本地执行

git remote add origin git仓库地址

然后推送本地内容

git push -u origin master

如果你新建工程的时候,有readme文件,这里可能不能直接推送成功,需要git pull origin master,拉取之后再执行

至此整个基于maven+git+servlet3.0的Java Web工程就搭建完毕了

完整的代码可以去oschina上pull,地址为

https://git.oschina.net/clysheng/servlet3.0.git

© 著作权归作者所有

共有 人打赏支持
harveyno1
粉丝 0
博文 3
码字总数 2074
作品 0
信阳
IntelliJ IDEA 2018.2 EAP 发布,支持 Touch Bar

IntelliJ IDEA 2018.2 EAP 已发布:包含对 MacBook Touch Bar 的支持,对 Gradle 支持的改进,新图标,Spring Boot 及一些更新。 支持 Touch Bar 即将推出的 IntelliJ IDEA 2018.2 引入了 To...

达尔文 ⋅ 05/18 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 前天 ⋅ 0

详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法

温馨提示:本教程的 GitHub 地址为「intellij-idea-tutorial」,欢迎感兴趣的童鞋、,纠错。 Maven 是一个优秀的项目管理工具,它为我们提供了一个构建完整的生命周期框架。现在,就让我们一...

qq_35246620 ⋅ 04/20 ⋅ 0

集成开发工具 Android Studio 3.2 Canary 13 发布

Android Studio 3.2 Canary 13 已经发布在 Canary 和 Dev 频道。 Android Studio 是一个 Android 集成开发工具,基于 IntelliJ IDEA,类似 Eclipse ADT,Android Studio 提供了集成的 Androi...

雨田桑 ⋅ 05/01 ⋅ 0

IntelliJ IDEA 2018.1.5 正式发布,错误修复和改进

IntelliJ IDEA 2018.1.5 已正式发布。本次更新修复了几处回归错误,以及各种 bug 修复,点此查看本次更新的所有修复内容。 值得关注的改进 在使用/取消导航弹出窗口/菜单后,IDE 不会丢失焦点...

淡漠悠然 ⋅ 06/14 ⋅ 26

Scala学习(二)使用IDEA开发Scala

目前Scala的开发工具主要有两种:Eclipse和IDEA,这两个开发工具都有相应的Scala插件,如果使用Eclipse,直接到Scala官网下载即可http://scala-ide.org/download/sdk.html。 由于IDEA的Scala...

qq_41851454 ⋅ 04/21 ⋅ 0

Linux开发环境搭建之Intellij Idea安装配置

本文将会在Linux环境下安装使用Intellij Idea开发工具,然后在Idea中配置Maven和Tomcat,如果还没有Maven环境,可以参考《Linux开发环境搭建之Maven安装配置 》一文。 一、环境准备 1.Linxu桌...

MaxBill ⋅ 05/14 ⋅ 0

IDEA配置、安装及创建、发布项目

IDEA配置、安装及创建、发布项目 一、下载 进入官网:https://www.jetbrains.com/idea/ 点击右上角download,可以进行版本选择 此处选择使用2015版本,分别有企业版和社区版,企业版收费,社...

JS_HCX ⋅ 05/26 ⋅ 0

Intellij Idea 从 Svn 检出 Maven 项目、部署 Tomcat 运行

之前一直用的MyEclipse,现在换个开发工具试试,随手记录一下Intellj Idea 工具的使用,这里导入的Maven项目是Eclipse的结构。 软件环境 JDK 1.8 Tomcat 7 Intellj Idea TortoiseSVN Apache...

华山猛男 ⋅ 03/21 ⋅ 0

IntelliJ IDEA 中的 Maven 项目初体验及搭建 Spring MVC 框架

温馨提示:本教程的 GitHub 地址为「intellij-idea-tutorial」,欢迎感兴趣的童鞋、,纠错。 在「详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法」一文中,我们已经将 Intell...

qq_35246620 ⋅ 04/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部