1.新建maven项目
点击next
这是项目的目录
我们会发现项目有错,接下来解决错误(如果没错请跳过)
接下来发现项目 没有错误了
注意:作为Maven项目必须包含以下4个资源文件夹,如果没有,需要手动创建。
我们会发现我们的项目有一个问题
接下来创建
配置和这个对应
接下来就是更改pom.xml文件(添加springmvc所需要的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>com.hello</groupId> <artifactId>HelloSpringMVC</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>HelloSpringMVC Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- spring start --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.16.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.16.RELEASE</version> </dependency> <!-- spring end --> </dependencies> <build> <finalName>HelloSpringMVC</finalName> </build> </project>
更改web.xml文件配置
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!-- 前端控制器 --> <servlet> <servlet-name>spring-mvc</servlet-name> <!-- 名称,真实的文件名需要在这个名字后面加上-servlet后缀 --> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- DispatcherServlet路径,照写 --> <!-- 这里可以设置前端控制器的路径,如果这一步注释掉,则默认前端控制器的路径为:/WEB-INF/[servlet-name]-servlet.xml <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/configs/spring-mvc-servlet.xml</param-value> 这里配置前端控制器的路径 </init-param> --> <load-on-startup>1</load-on-startup> </servlet> <!-- 拦截所有请求 --> <servlet-mapping> <servlet-name>spring-mvc</servlet-name> <!-- 这里的名字要和上面的servlet-name统一 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
新建前端控制器配置文件
因为这里使用的是默认的路径,所以只需要在WEB-INF目录下创建前端控制器文件。
又因为在web.xml中配置的名称是spring-mvc,所以新建的文件名是spring-mvc-servlet。
接下来就是spring-mvc-servlet.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-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd"> <!-- 扫描路径 --> <context:component-scan base-package="com.hp.controller" > <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!-- 配置根视图 --> <mvc:view-controller path="/" view-name="index"/> <!-- 激活基于注解的配置 @RequestMapping, @ExceptionHandler,数据绑定 ,@NumberFormat , @DateTimeFormat ,@Controller ,@Valid ,@RequestBody ,@ResponseBody等 --> <mvc:annotation-driven /> <!-- 静态资源配置 --> <mvc:resources location="/assets/" mapping="/assets/**"></mvc:resources> <!-- 视图层配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
接下来就是创建controller类
其中需要注意的是
接下来就是spring-mvc-servlet.java的书写
package com.hp.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("hello") public class SpringController { @RequestMapping("one") public String Hello(Model model){ model.addAttribute("msg", "这是我第一个springMVC的项目"); return "text"; } }
接下来写返回的jsp页面
新建text.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>这是一个jsp</title> </head> <body> <h1>${msg }</h1> </body> </html>
如果这时项目出现红x
(1)右击项目名->Properties(在最下方) ->拖动左侧栏,找到Deployment Assembly ->移除多余部分。
(2)将Maven Dependencies从Build Path中移除。
(3)进入Configure Build Path,重新添加Maven Dependencies这个Library
正常情况下,项目已经没有不报错了。
运行项目
效果图为
总结一下:
由于第一次使用maven,刚开始有点生疏,其中pom.xml只要进行了配置jar包,然后maven会自动在阿里云的
maven仓库进行下载,就不用管jar,在springMVC开发过程中也遇到了controller层的@controller一直没有注释
但是我的pom.xml文件已经进行了配置,错误的原因是 pom.xml的jar版本有点低 ,我把pom.xml文件中的jar版本提升到4.3.16.RELEASE然后顺利的解决了这个bug.
在第一次运行maven你有可能看到这个错误
解决办法是
Add -> Java Build Path Entries -> Next -> Maven Dependencies -> Finish -> Ok,配置完后如下图: