使用Maven搭建SpringMVC项目的步骤(图文教程)
约定电脑都安装了eclipse,且已配置好maven以及eclipse插件。
1.eclipse
2.maven
3.eclipse 需要安装maven插件。url:maven - 。
1、新建一个maven project
2、选择工作空间
3、搭建web工程,我们选择maven-archetype-webapp类型
4、填写项目参数,如图
5、以上步骤完成时的工程结构目录
6、可以查看或修改发布目录
7、确保勾选上dynamic web module和java
8、完成以上步骤,我们的工程就是一个web项目了,接着我们赋予工程的springmvc特性,配置web.xml,使其具有springmvc特性,主要配置两处,一个是contextloaderlistener,一个是dispatcherservlet。代码如下:
<?xml version="1.0" encoding="utf-8"?> <web-app version="2.5" 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"> <!-- 配置web.xml,使其具有springmvc特性,主要配置两处,一个是contextloaderlistener,一个是dispatcherservlet --> <context-param> <param-name>contextconfiglocation</param-name> <param-value>classpath*:applicationcontext.xml</param-value> </context-param> <!-- 配置contextloaderlistener表示,该工程要以spring的方式启动。启动时会默认在/web-inf目录下查找applicationcontext.xml 作为spring容器的配置文件,该文件里可以初始化一些bean --> <listener> <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener> <!-- 字符集过滤器 --> <filter> <filter-name>encodingfilter</filter-name> <filter-class>org.springframework.web.filter.characterencodingfilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- spring mvc 配置 --> <!-- 配置dispatcherservlet表示,该工程将采用springmvc的方式。启动时也会默认在/web-inf目录下查找xxx-servlet.xml作为配置文件, xxx就是dispatcherservlet的名字,该文件中将配置两项重要的mvc特性:handlermapping,负责为dispatcherservlet这个前端控制器的请求查找controller; viewresolver,负责为dispatcherservlet查找modelandview的视图解析器。 此处使用指定的配置文件spring-mvc.xml --> <servlet> <servlet-name>contacts</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <init-param> <param-name>contextconfiglocation</param-name> <!--<param-value>/web-inf/classes/spring-mvc-servlet.xml</param-value>--> <param-value>classpath*:/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>contacts</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
9、配置contextloaderlistener表示,该工程要以spring的方式启动。启动时会默认在/web-inf目录下查找 applicationcontext.xml作为spring容器的配置文件,这里可以初始化一些bean,如datasource等。代码如下:
<?xml version="1.0" encoding="utf-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"> <!-- bean definitions here --> <context:component-scan base-package="cn.jxufe" /> <!-- 配置读取外部配置文件 --> <context:property-placeholder location="classpath:jdbc.properties" /> <bean id="datasource" class="org.apache.commons.dbcp.basicdatasource" destroy-method="close" p:driverclassname="${jdbc.driverclassname}" p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}" /> <context:annotation-config /> <!-- 此行语句使得resource autowired 等四个注解可以使用 --> <!-- 实例化jdbctemplate,同时注入数据源 --> <bean id="jdbctemplate" class="org.springframework.jdbc.core.jdbctemplate" p:datasource-ref="datasource" /> <!-- 配置事务管理器 --> <bean id="txmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource" ref="datasource" /> </bean> <!-- 事务扫描开始(开启@tranctional) --> <tx:annotation-driven transaction-manager="txmanager" /> </beans>
10、配置dispatcherservlet表示,该工程将采用springmvc的方式。启动时也会默认在/web-inf目录下查找xxx- servlet.xml作为配置文件,xxx就是dispatcherservlet的名字,该文件中将配置两项重要的mvc特性:viewresolver,负责为dispatcherservlet查找modelandview的视图解析器。这里我们使用指定的xml配置文件spring-mvc.xml,代码如下:
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd" default-lazy-init="true"> <!-- 启动事务添加配置 --> <context:component-scan base-package="cn.jxufe"> <!-- 排除扫描service标签 --> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.service"/> </context:component-scan> <bean class="org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter"> <!-- 注册jason转换器 --> <property name="messageconverters"> <list> <ref bean="mappingjacksonhttpmessageconverter"/> <ref bean="utf8stringhttpmessageconverter"/> </list> </property> </bean> <bean id="mappingjacksonhttpmessageconverter" class="org.springframework.http.converter.json.mappingjacksonhttpmessageconverter"> <property name="supportedmediatypes"> <list> <value>text/plain;charset=utf-8</value> <value>text/html;charset=utf-8</value> <value>application/json;charset=utf-8</value> </list> </property> </bean> <bean id="utf8stringhttpmessageconverter" class="org.springframework.http.converter.stringhttpmessageconverter"> <property name="supportedmediatypes"> <list> <value>text/plain;charset=utf-8</value> <value>text/html;charset=utf-8</value> <value>application/json;charset=utf-8</value> </list> </property> </bean> <bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="viewclass" value="org.springframework.web.servlet.view.jstlview"/> <property name="prefix" value="/web-inf/pages/"/> <property name="suffix" value=".jsp"/> </bean> <bean class="org.springframework.web.servlet.i18n.localechangeinterceptor"></bean> <!-- 当配置了<mvc:annotation-driven/>后,会自动加载org.springframework.web.servlet.mvc.annotation.defaultannotationhandlermapping和 org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter,所以如果显示的配置则需去掉配置<mvc:annotation-driven/> --> <!--<mvc:annotation-driven/>--> </beans>
11、配置pom.xml文件,让maven自动配置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>cn.jxufe</groupid> <artifactid>springmvc-maven</artifactid> <packaging>war</packaging> <version>1.0</version> <name>springmvc-maven maven webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <spring.version>3.1.2.release</spring.version> </properties> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- spring begin --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-jdbc</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-aop</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-test</artifactid> <version>${spring.version}</version> </dependency> <!-- spring end --> <!-- web jar --> <dependency> <groupid>javax.servlet</groupid> <artifactid>javax.servlet-api</artifactid> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.1.2</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax.servlet.jsp</groupid> <artifactid>javax.servlet.jsp-api</artifactid> <version>2.3.1</version> <scope>provided</scope> </dependency> <!-- jackson jar --> <dependency> <groupid>org.codehaus.jackson</groupid> <artifactid>jackson-jaxrs</artifactid> <version>1.9.11</version> </dependency> <!-- commons jar --> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-lang3</artifactid> <version>3.3.2</version> </dependency> <dependency> <groupid>commons-io</groupid> <artifactid>commons-io</artifactid> <version>2.4</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-collections4</artifactid> <version>4.0</version> </dependency> <dependency> <groupid>commons-logging</groupid> <artifactid>commons-logging</artifactid> <version>1.1.3</version> </dependency> <dependency> <groupid>commons-codec</groupid> <artifactid>commons-codec</artifactid> <version>1.8</version> </dependency> <dependency> <groupid>commons-beanutils</groupid> <artifactid>commons-beanutils</artifactid> <version>1.8.3</version> </dependency> <dependency> <groupid>commons-chain</groupid> <artifactid>commons-chain</artifactid> <version>1.2</version> </dependency> <dependency> <groupid>commons-fileupload</groupid> <artifactid>commons-fileupload</artifactid> <version>1.3.1</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-math3</artifactid> <version>3.3</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-pool2</artifactid> <version>2.2</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-digester3</artifactid> <version>3.2</version> </dependency> <dependency> <groupid>commons-net</groupid> <artifactid>commons-net</artifactid> <version>3.3</version> </dependency> <dependency> <groupid>commons-dbutils</groupid> <artifactid>commons-dbutils</artifactid> <version>1.5</version> </dependency> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-email</artifactid> <version>1.3.3</version> </dependency> <dependency> <groupid>commons-dbcp</groupid> <artifactid>commons-dbcp</artifactid> <version>1.4</version> </dependency> <!-- jstl jar --> <dependency> <groupid>jstl</groupid> <artifactid>jstl</artifactid> <version>1.2</version> </dependency> <dependency> <groupid>taglibs</groupid> <artifactid>standard</artifactid> <version>1.1.2</version> </dependency> <!-- 日志相关 --> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>1.2.16</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>1.7.5</version> </dependency> <!-- 验证码kaptcha --> <dependency> <groupid>com.google.code</groupid> <artifactid>kaptcha</artifactid> <version>2.3.0</version> </dependency> <!-- mysql --> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>5.1.31</version> </dependency> </dependencies> <build> <finalname>springmvc-maven</finalname> </build> </project>
12、完成以上步骤后,可以继续配置jdbc.properties、log4j.properties等文件。至此springmvc项目搭建完成,工程结构如下图:
13、代码我都会托管到gibhub上,有需要的朋友可以查看。github
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。