本篇文章,我们会教你通过maven和spring mvc创建一个Java web项目。关于maven如何创建普通的Java项目,上一篇文章已经作了说明。
开发环境:
1.jdk 1.7
2.Maven 3.3.9
3.Eclipse Mars.1
4.Spring 4.2.1.RELEASE
5.Logback 1.0.13
1.通过maven模板创建一个Java web项目
通过命令行进入eclipse所在的workspace文件夹,输入如下命令:
mvn archetype:generate -DgroupId=org.thinkingingis -DartifactId=MavenSpringWebApp -DarchetypeArtifactId=maven-archetype-webapp 

-DgroupId 表示你的组织或企业的名称
-DartifactId 表示你本项目的名词
-DarchetypeArtifactId 表示maven所提供的模板,maven-archetype-webapp是maven所提供众多模板中创建webapp的模板。
一段时间以后,出现“BUILD SUCCESS”后,一个名为“MavenSpringWebApp”的Java Web的项目就构建好了。(这一步可能会出现一些问题,反复几次即可成功。)
2.项目的目录结构
通过maven构建的Java web项目,其目录结构如下:

maven自动生成的文件目录中,包括部署描述信息文件:web.xml, pom.xml 和 index.jsp
将web.xml文件中servelt 2.3 改为2.5,如下:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_5.dtd" ><web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>

3.将该项目转换为eclipse工程
首先 cd MavenSpringWebApp 进入该项目文件夹下,输入mvn eclipse:eclipse -Dwtpversion=2.0-Dwtversion=2.0 是告诉Maven将该工程转换为一个eclipse web project(WAR),而不是JAR包。wtp表示 web tool platform
将项目导入到eclipse中:File-import-Existing Projects into Workspace

4.更新POM文件,添加项目所依赖的jar包
<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>org.thinkingingis</groupId><artifactId>MavenSpringWebApp</artifactId><packaging>war</packaging><version>1.0-SNAPSHOT</version><name>MavenSpringWebApp Maven Webapp</name><url>http://maven.apache.org</url><properties><jdk.version>1.7</jdk.version><spring.version>4.2.1.RELEASE</spring.version><jstl.version>1.2</jstl.version><junit.version>4.11</junit.version><logback.version>1.0.13</logback.version><jcl-over-slf4j.version>1.7.5</jcl-over-slf4j.version></properties><dependencies><!-- Junit Test --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version></dependency><!-- Spring Core --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${jcl-over-slf4j.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!-- jstl --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency></dependencies><build><finalName>MavenSpringWebApp</finalName><plugins><!-- Eclipse project --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-eclipse-plugin</artifactId><version>2.9</version><configuration><!-- Always download and attach dependencies source code --><downloadSources>true</downloadSources><downloadJavadocs>false</downloadJavadocs><!-- Avoid type mvn eclipse:eclipse -Dwtpversion=2.0 --><wtpversion>2.0</wtpversion></configuration></plugin><!-- Set JDK Compiler Level --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.3.2</version><configuration><source>${jdk.version}</source><target>${jdk.version}</target></configuration></plugin></plugins></build>
</project>
5.完成务逻辑代码
5.1 最终的目录结构如下:
如果没有的文件夹, 如src/main/java需要手动创建。然后右击该文件夹选择 Build Path-Use as a source folder
5.2 BaseController.java 代码
package org.thinkingingis.controller;import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;@Controller
public class BaseController {private static int counter = 0;private static final String VIEW_INDEX = "index";private final static org.slf4j.Logger logger = LoggerFactory.getLogger(BaseController.class);@RequestMapping(value = "/", method = RequestMethod.GET)public String welcome(ModelMap model) {model.addAttribute("message", "Welcome");model.addAttribute("counter", ++counter);logger.debug("[welcome] counter : {}", counter);// Spring uses InternalResourceViewResolver and return back index.jspreturn VIEW_INDEX;}@RequestMapping(value = "/{name}", method = RequestMethod.GET)public String welcomeName(@PathVariable String name, ModelMap model) {model.addAttribute("message", "Welcome " + name);model.addAttribute("counter", ++counter);logger.debug("[welcomeName] counter : {}", counter);return VIEW_INDEX;}}

5.3 Spring配置文件 mvc-dispatcher-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="org.thinkingingis.controller" /><bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>

5.4 部署描述文件 web.xml
<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_2_5.xsd"
version="2.5"><display-name>Spring webapp</display-name><servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet><servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping><context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</context-param><listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>

5.5 将index.jsp文件移动至webapp/WEB-INF/pages下,index.jsp
<html>
<body>
<html>
<body>
<h2>Hello World!</h2>
<h1>Maven + Spring MVC Web Project Example</h1>
<h2 style="color:#069">Message : ${message}</h2>
<h2>Counter : ${counter}</h2>
</body>
</html>
</body>
</html>

5.6 在src/main/resources下新建一个logback.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout"><Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
</Pattern></layout>
</appender><logger name="org.thinkingingis.controller" level="debug"
additivity="false">
<appender-ref ref="STDOUT" />
</logger><root level="error">
<appender-ref ref="STDOUT" />
</root></configuration>

6.将项目打包,并部署
在MavenSpringWebApp文件夹下,通过命令行输入: mvn package
一个WAR包文件会出现在target下

将MavenSpringWebApp.war复制到你的tomcat根目录下的webapps文件夹下即可(我的是D:\apache-tomcat-7.0.69\webapps )
7. 启动tomcat
输入
http://localhost:8080/MavenSpringWebApp/
http://localhost:8080/MavenSpringWebApp/ThinkingInGIS
看看会发生什么吧...

至此,一个通过maven创建的java web程序就完成啦。

github地址:点击打开链接

(如遇到问题,请留言给作者,以便共同探讨gis知识。thinkingingis@qq.com)

微信公众号:ThinkingInGIS

maven + spring mvc 创建Java web项目相关推荐

  1. Spring mvc创建的web项目,如何获知和修改其web的项目访问链接名称?

    访问URL:  http://localhost:8090/firstapp/login 在eclipse集成的运行环境,常常都是多个app,在访问某个APP时,需要指定其项目名称. 但是,sprin ...

  2. 使用IntelliJ IDEA 15和Maven创建Java Web项目(转)

    1. Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工 ...

  3. 使用Netbeans创建java Web项目

     使用Netbeans创建java Web项目 需要先搭建JDK参考: Java开发环境的搭建以及使用eclipse创建项目 Linux环境安装卸载JDK 1.安装Tomcat 去官网下载最新的T ...

  4. sts中给项目添加服务器,sts创建java web项目

    sts创建java web项目 [2021-02-03 01:57:35]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...

  5. Eclipse创建java Web项目工程

    1.创建前将eclipse的编码统一改为utf-8,或项目组要求的编码形式,防止乱码.以设置UTF-8为例: 点击 window-->点击preference-->点击General--& ...

  6. netbeans java web_使用Netbeans创建java Web项目

    使用Netbeans创建java Web项目 需要先搭建JDK参考: 1.安装Tomcat 目前最新的windows环境的Tomcat是 2.下载安装Netbeans 下载需要的版本,因为本人需要同时 ...

  7. 创建Java Web项目并实现前后端交互

    目录 一:使用工具 二:创建Java Web项目 三:编写代码 一:使用工具 Eclipse 版本如下: 注:不同版本的eclipse创建的项目基础目录可能会有所不同. 二:创建Java Web项目 ...

  8. idea iu 2021 Mac版本的使用,如何创建java web项目,包括tomcat和web包

    Java web系列文章目录 第一章 前端学习入门之idea iu 2021版本的使用 目录 Java web系列文章目录 前言 一.Java web是什么? 二.配置步骤 1.下载Tomcat服务器 ...

  9. IDEA2021创建Java Web项目

    1.创建一个普通的Java项目 省略创建部分...... 2.右键项目文件,择添加框架支持 3.在添加框架支持中选择Web应用程序,点击确定 4.这样就创建好一个Java Web项目了

最新文章

  1. jQuery解决高度统一问题
  2. 聊聊HTTPS和SSL/TLS协议
  3. 计算机领域 热点应用,2017年度计算机科学各领域热点词汇
  4. 学fpga(在线verilog编程)
  5. maven搭建mybatis测试
  6. HttpApplication 类
  7. 汉斯·乌尔里希·鲁德尔-唯一一个钻石金双剑金橡叶骑士勋章获得者
  8. 许晓斌的《Maven实战》 maven镜像配置
  9. 2002 计算球体体积
  10. 处理一次 MYSQL 启动异常 Error writing file '/tmp/MYYEBa32' (Errcode: 28 - No space left on device)
  11. keil5的Cannot Load Flash Programming Algorithm
  12. linux修改blacklist.conf的权限不够怎么办,跪求 /etc/modprobe.d/blacklist.conf
  13. qt matlab环境配置文件,Qt与matlab混合编程
  14. java80道面试题
  15. 油气勘探开发从业务到IT的一体化解决方案(全文)
  16. 9.1 使用QPxmap类加载图片
  17. linux 7z压缩、解压命令
  18. 使用 KubeSphere 部署 Halo 开源博客系统
  19. vscode cmake 多版本opencv pcl 64/32位
  20. C# 杨辉三角形算法

热门文章

  1. 光流(Optical Flow)简介
  2. Fast R-CNN《Fast R-CNN》论文笔记
  3. SPOJ 1812 LCS2 - Longest Common Substring II (后缀自动机、状压DP)
  4. 欧几里得空间——度量矩阵
  5. oracle动态 returning,oracle returning
  6. java 带参数的构造函数_java – mockito模拟一个带参数的构造函数
  7. debian 文件夹中文件大小_debian 记录用到的命令 文件夹 目录等操作
  8. 埃夫特机器人回零偏差太大_新松、华中数控、埃斯顿、埃夫特国内主流机器人厂商近年最新动态...
  9. JVM内存堆布局图解分析
  10. [HAOI2008][BZOJ1042] 硬币购物