maven + spring mvc 创建Java web项目
2016-11-27 17:02
323 查看
本篇文章,我们会教你通过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文件夹,输入如下命令:
-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,如下:
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包
5.完成务逻辑代码
5.1 最终的目录结构如下:
如果没有的文件夹, 如src/main/java需要手动创建。然后右击该文件夹选择 Build Path-Use as a source folder
5.2 BaseController.java 代码
5.3 Spring配置文件 mvc-dispatcher-servlet.xml
5.4 部署描述文件 web.xml
5.5 将index.jsp文件移动至webapp/WEB-INF/pages下,index.jsp
5.6 在src/main/resources下新建一个logback.xml文件:
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
开发环境:
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.jsp return 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创建java web项目+SpringMVC+Mybatis
- 在Eclipse中创建 Maven SpringMVC 项目 cannot change version web module 2.5 问题
- 创建一个Spring+SpringMVC+MyBatis+MySql+Maven项目需要注意的地方
- Maven创建web项目:SpringMVC+Mybatis
- 手把手带你搭建 SpringMVC + Zookeeper +Dubbo(一)【Maven 创建 Web项目】
- 用maven+springMVC创建一个项目 【转】
- Maven3路程(六)用Maven创建Spring3 MVC项目
- 用maven+springMVC创建一个项目
- Maven3路程(六)用Maven创建Spring3 MVC项目
- 用maven+springMVC创建一个项目
- 用maven+springMVC创建一个项目 【转】
- spring(1)——用Maven创建spring-mvc项目
- 用Maven创建Spring3 MVC项目(转)
- 用maven+springMVC创建一个项目
- maven创建多模块项目+springMVC+mybatis
- 基础教学——如何用maven工具创建一个springmvc+mybatis的项目
- 使用Idea创建ssm项目,SpringMVC+Spring+MyBatis+Maven整合
- myeclipse10创建maven springmvc项目3
- Maven3路程(六)用Maven创建Spring3 MVC项目
- maven SpringMVC easyUI项目创建