【SpringMVC】使用Maven搭建SpringMVC项目
来源:互联网 发布:mac隐藏菜单栏 编辑:程序博客网 时间:2024/06/05 21:51
此博文主要是描述在Eclipse中使用Maven工具搭建SpringMVC项目,此博文是建立在【JavaWeb开发】Maven的安装配置方法(eclipse)的基础之上。
第一步,新建项目
- 在Eclipse中依次进行新建项目:File -> New -> Other -> Maven -> Maven Project -> 点击Next -> 选择Artifact Id 为 maven-archetype-webapp -> Next -> Group Id填写自己的域名,例如笔者的 com.baofeidyz | Artifact Id填写自己的项目名称,比如笔者的WeChatSpringMVC | 其余保持默认即可 -> Finish
如果你没有使用Maven创建过任何项目(也就是说你的repository文件夹为空),这种情况之下,Maven会下载网络资源,如果你之前配置的镜像站在国内是不可以直接访问的,即可打开的你的VPN或者代理哦。
资源下载结束之后,大致的项目目录会是这个样子的:
这个时候会有几个错误提示,主要是由于Maven自动加载的项目并不完善,需要我们手动完善一部分的文件结构
- 第一个,需要在main文件夹中新增一个java文件夹;
- 第二个,需要在src文件夹中新增一个test文件夹,并且在test文件夹中创建一个java文件夹;
- 完成后的展示图如下:
这里将index.jsp文件删掉了。
第二步,配置pom.xml文件
- 默认的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.baofeidyz</groupId> <artifactId>WeChatSpringMVC</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name> </name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>WeChatSpringMVC</finalName> </build></project>
- 修改之后如下:
<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 artifactId version name和你在新建项目的时候有关,这个不需要你做修改--> <groupId>com.baofeidyz</groupId> <artifactId>spring-mvc-study</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-mvc-study Maven Webapp</name> <url>http://maven.apache.org</url> <!--properties相当于一个全局变量--> <properties> <!--限定编码格式--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!--用slf4j.version 替代 1.7.21 非常类似于java中的全局变量,也是为了后面做修改的时候减少代码量--> <slf4j.version>1.7.21</slf4j.version> <spring.version>4.3.1.RELEASE</spring.version> </properties> <dependencies> <!--依赖的包,这个地方是SpringMVC,所以我填写的是org.springframework,关于这个填写的方式,可以在http://mvnrepository.com这个网站中找到,也可以在SpringMVC的网站中找到,后面也是类似的,每加载一个jar包都必须要在这个<dependencies>标签中加上,但是具体他们由依赖于哪一个包,这个就有maven这个工具自动完成了--> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.1.RELEASE</version> </dependency> <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency>--> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- servlet依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0-b01</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> </dependencies> <build> <finalName>spring-mvc-study</finalName> </build></project>
有关的说明我都写在了代码块中,所以这里就不再赘述了。
第三步,配置web.xml文件
- 这里我直接贴出代码块,然后我将在代码块中进行解读:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>WeChatSpringMVC</display-name> <!--这个Spring应用上下文就相当于一个分支,这里我用职位来作解释说明, 把下面的DispacherServlet看作为一个公司的经理, 公司大大小小的事情都必须要经过他的手,然后由他来决定分给哪个部分来做, 那么这个ApplicationContext就相当于公司的某一个部门,只能处理某一个时间, 比如在你的网站中,他只负责处理安卓端的请求与响应,那么这个“部门”就只配置与安卓端相关的请求, 这样在开发的工程中更容易分开协作,提升工作效率,说得比较简单,因为主要是针对需要直接配置的同学, 如果需要有深入的理解,本人暂时还没发达到这个水平,深感抱歉--> <!-- Spring应用上下文,理解层次化的ApplicationContext --> <context-param> <!--名字可以随意,但是要让别人看得懂--> <param-name>contextConfigLocation</param-name> <!--这里路径比较多,其实就是在configs这个文件夹下面又创建了一个新的文件夹spring,然后在这个下面有个配置文件,这个文件夹需要自己单独创建哦,也可以设置其他想要设置的路径--> <param-value>/WEB-INF/configs/spring/applicationContext.xml</param-value> </context-param><!--不做修改,如果按住Ctrl+鼠标左键单机可以看到源码证明没有问题--> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!--只可以修改名字和路径,其他的不建议修改--> <!-- DispacherServlet,Spring MVC的核心 --> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet><!--这里的mapping仅设置了一个 / 表示拦截所有--> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
第三步结束之后,我又在webapp文件夹下面创建了一个jsp文件夹用于存放jsp文件,那么得到的目录就成了这个样子了:
第四步,配置mvc-dispatcher-servlet.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 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.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- 本配置文件是工名为mvc-dispather的DispatcherServlet使用,提供其相关的Spring MVC配置 --> <!-- 启用Spring基于annotation的DI,使用户可以在Spring MVC中使用强大功能。 激活@Required @Autowired,JSR 250's @PostConstruct,@PreDestroy and @Resource 等标注 --> <context:annotation-config /> <!-- 控制层 --> <!-- DispatcherServlet上下文,只管理@Controller类型的bean,忽略其他类型的bean,如@Service --> <context:component-scan base-package="com.baofeidyz.web"> <context:include-filter type ="annotation" expression = "org.springframework.stereotype.Controller"/> </context:component-scan> <!-- HandlerMapping,无需配置,Spring MVC可以默认启动。 DefaultAnnotationHandlerMapping annotation-driven HandlerMapping --> <!-- 扩充了注解驱动,可以将请求参数绑定到控制器参数 --> <mvc:annotation-driven /> <!-- 静态资源配置,css,js,imgs --> <mvc:resources location="/resoures/" mapping="/resources/**"/> <!-- view层 --> <!-- 配置ViewResolver 可以使用多个ViewResolver 使用order属性排序 InternalResourceViewResolver放在最后 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name = "viewClass" value = "org.springframework.web.servlet.view.JstlView"/> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/jsp/" /> <!-- 后缀 --> <property name="suffix" value=".jsp" /> </bean> </beans>
由于笔者多数都增加了注解,在此就做一部分解释,如果还是有不清楚的可以留言,笔者看到后会尽快回复的。
第一个
<!-- 控制层 -->
<!-- DispatcherServlet上下文,只管理@Controller类型的bean,忽略其他类型的bean,如@Service -->
<context:component-scan base-package="com.baofeidyz.web">
<context:include-filter type ="annotation" expression = "org.springframework.stereotype.Controller"/>
</context:component-scan>
这里的com.baofeidyz.web 表示的是一个包名,就是告诉这个DispatcherServlet,你到com.baofeidyz.web中去找你要的东西
第二个
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "viewClass" value = "org.springframework.web.servlet.view.JstlView"/>
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/jsp/" />
<!-- 后缀 -->
<property name="suffix" value=".jsp" />
</bean>
这里的前缀和后缀主要是方便后面在编写代码的过程中会比较方便,按照这个配置,如果jsp文件夹中有一个hellp.jsp文件,那么在java代码中只需要返回一个”hello”字符串即可跳转到这个hello.jsp文件(具体我会在后面的内容中再次阐述)
第五步,配置applicationContext.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: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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <context:annotation-config/> <context:component-scan base-package="com.baofeidyz.web"> <context:exclude-filter type = "annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan></beans>
注意 exclude-filter 表示不处理类型为 annotation 的请求,关于这个annotation暂时不做讨论
第六步,配置java环境
- 由于使用Maven工具包创建的项目是没有指定是否是java项目的,所以需要我们手动配置:
- 右键项目吗->Properties->Java Build Path->Libraries->Add Library->选择 JRE System Library->Finish->转到Order and Export 勾选上 JRE System Library
第七步,测试SpringMVC是否可以运转
- 在/src/java 中创建一个Test类,并且包名为com.baofeidyz.web 与之前的配置文件对应
- 【SpringMVC】使用Maven搭建SpringMVC项目
- 使用Maven搭建SpringMVC项目
- Eclipse下使用Maven搭建SpringMVC项目
- 使用Maven搭建Spring+SpringMVC+Mybatis项目
- 使用Maven搭建SpringMVC项目(入门详解)
- 使用Maven搭建springmvc项目(一)
- 使用Maven搭建springmvc项目(二)
- 使用Maven搭建SpringMVC
- 使用Maven搭建SpringMVC
- 使用Maven搭建SpringMVC
- 使用Maven搭建SpringMVC
- 使用Maven搭建SpringMVC
- 项目搭建系列之一:使用Maven搭建SpringMVC项目
- Maven搭建SpringMVC项目详解
- SpringMVC项目搭建-maven版
- eclipse搭建maven SpringMVC项目
- Maven搭建SpringMVC+Mybatis项目
- Maven搭建SpringMVC+Hibernate4项目
- leetcode——26. Remove Duplicates from Sorted Array && 80. Remove Duplicates from Sorted Array II
- 【bzoj4003】【JLOI2015】【城池攻占】【可并堆】
- 设计模式-组合模式
- WAP(wml)开发问答
- 肝bzoj十连测
- 【SpringMVC】使用Maven搭建SpringMVC项目
- pthred分离detach
- 猴子摘桃
- WML开发详细指南
- Categorical, Ordinal, Interval - 变量之间的区别
- 如何判断一个点是否在多边形内部ne?
- 统计整型参数的值为1的二进制位的个数
- 有趣的数字----腾讯2017暑期实习生编程题
- WAP中推送技术的分析与设计