Maven+SpringMVC
创建Maven项目
1.File–>New–>Project
2.Maven–>勾选Create from archetype–>org.apache.maven.archetypes:maven-archetype-webapp–>Next
其中Projict SDK为选择你的JDK,如果以前有忽略,如果没有,点击New,在弹出的窗口里选择你的JDK路径–>OK
3.填写GroupId和ArtifactID–>Next
GroupId和ArtifactID自由填写,但是ArtifactID和你的项目名一样;GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构;ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
参考链接:https://blog.csdn.net/qq_30137611/article/details/76762070
4.Next
在这里User settings file和Local repository是指你的本地Maven库的,有过本地没有安装则自动生成如上路径C:\Users\bmh.m2(bmh为我的电脑的用户名),如果本地有安装Maven库,可自定义,如图,勾选Override后选择Maven目录下的settings.xml和指定的Maven本地仓库。
参考链接:https://www.yiibai.com/maven/maven_environment_setup.html(Maven的安装)
5.Finsh
之前看过一篇文章,在这里可以使之后能够快速的下载依赖包的方法,并将链接附上,有需要可以参考。
参考链接:https://www.cnblogs.com/shang-shang/p/7477607.html
6.Maven项目基本部分结束,下面就是结构部分。
选择This Window是指在此窗口打开此项目,New Window是指另外新开一个窗口打开此项目。
修改结构
1.添加pom依赖
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bmh</groupId>
<artifactId>PoDataMS</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>PoDataMS Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<jackson.version>2.9.4</jackson.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--spring相关包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--其他需要的包-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
<build>
<finalName>PoDataMS</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<!-- 配置tomcat 插件 -->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
这是我的完整的pom.xml.因为需要连接oracle数据库,且将数据以json返回数据,所以内容较多,可酌情添加。maven会自动下载相应的jar文件。
记得点击Import Changes
2.添加框架支持,项目名右键–>Add Framework Support
勾选Spring、Spring MVC–>OK
如果此处发现没有Spring选框,则点击File–>Project Structure,进入Project Structure页面
选择Modules–>spring,点击上面的‘ - ’号,记得点击右下角的Apply和OK,之后再重新添加项目结构即可。
观察目录结构,会发现有多两个文件,这是我们SpringMVC要进行的配置,后面会讲到。
3.完善目录结构
这是完整的项目结构,有java和test,且颜色为蓝色和绿色,如果你的项目结构如下图,那么需要为此项目增加项目结构。
首先在src下创建test包,并在test目录下创建java包,在main目录下创建java包。
此时java包的颜色还是灰色,下面将指定。
点击File–>Project Structure,进入Project Structure页面。
Modules–>Demo(即项目名)–>Sources,在Sources的选项框里,先选中main包里的java点击Mark as行的Sources,选中test包里的java点击Mark as行的Tests。点击Apply和OK。两个java包颜色改变。
继续完善目录结构,如图是我的项目目录,因为前后端分离,所以我只写java代码部分,所以前端的没有写。
添加Tomcat
1.右上角,点击Add Configuration
2.点击左上角‘ + ’号,选择Tomcat–>Local.
3.配置Tomcat
查看Server窗口,Name可以自己定义;Application server是你的Tomcat在本机的位置,点击Configure可以选择;URL则是运行时在浏览器打开的网址;
选择Depolyment窗口,点击右侧中间偏上位置的‘ + ’号,选择Artifact,点击Apply和OK.
XML配置
1.web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>Archetype Created Web Application</display-name>
<!--welcome pages-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.bmh.component.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--配置springmvc DispatcherServlet-->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置dispatcher.xml作为mvc的配置文件-->
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--把applicationContext.xml加入到配置文件中-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
2.配置dispatcher-servlet.xml ,这个文件负责mvc的配置。
<?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">
<!--此文件负责整个mvc中的配置-->
<!--启用spring的一些annotation -->
<context:annotation-config/>
<!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
<mvc:annotation-driven/>
<!-- 自动扫描装配 -->
<context:component-scan base-package="com.bmh.*">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
</beans>
3.配置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"
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="com.bmh.*"/>
</beans>
配置结束!!!!!!!!!