1、SpringMVC和Struts2對比前端
2、SpringMVC框架搭建java
1.引入jar包,須要的jar包如圖所示web
spring中相關的jar包必須是同一個版本的spring
maven項目中,pom.xml配置:express
<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>cn.py</groupId> <artifactId>springMvcHello1</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.2.RELEASE</version> </dependency> <!-- <dependency> --> <!-- <groupId>commons-logging</groupId> --> <!-- <artifactId>commons-logging</artifactId> --> <!-- <version>1.1.1</version> --> <!-- </dependency> --> </dependencies> <build> <finalName>base</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.8</target> <source>1.8</source> </configuration> </plugin> </plugins> </build> </project>
解釋一下:apache
1. commons-logging包是spring中必須依賴的jar包,可是若是經過maven項目管理咱們的jar包,maven已經幫助咱們將這個包自動引入,因此咱們不須要再手動引入此jar包,解釋以下圖api
2. 這個項目中使用的事spring5,spring5默認是jdk8支持,因此,咱們的pom.xml中加入了以下的配置mvc
<build> <finalName>base</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <target>1.8</target> <source>1.8</source> </configuration> </plugin> </plugins> </build>
2.配置前端控制器框架
補充:這個引入的命名空間的版本,上圖是4.0,可是我本地測試的時候,用4.0的時候,點擊alt+/ 沒有提示,可是我換成2.5版本以後,有提示;(servlet3.0以後,提倡用註解的方式配置)maven
3.建立mvc.xml配置文件(這種建立方式是否是隻在sts開發環境中才有)
這種建立方式,自動建立的mvc.xml文件中,將命名空間自動引入
4. 編寫HelloController類
這裏建立的Controller必需要繼承Controller接口,且必需要實現handleRequest方法;
補充:在web.xml中,配置mvc.xml中時,使用
<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:mvc.xml</param-value> </init-param>
其中,param-name的值必須爲contextConfigLocation;param-value的值classpath:mvc.xml,這個classpath表明的是在src-main-resources資源目錄中查找;
web項目的目錄結構:(這裏不理解會是個坑)
3. 總結:
4. 填坑:
<load-on-startup>1</load-on-startup>:在Tomcat啓動的時候就初始化SpringMVC容器;這個值越低越優先啓動
<url-pattern>/</url-pattern>:不能寫成/*,可寫成*.do
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:mvc.xml</param-value>
</init-param>:初始化參數,告訴DispatcherServlet去哪裏找配置文件;若是不寫這個配置,系統會報錯,會有一個默認的路徑,會到WEB-INF路徑下尋找,名字默認爲:<servlet-name>元素文本內容-servlet.xml文件