之前想用Maven搭建個簡單的SpringMVC框架,一直沒成功,上網搜索了好多,不知道是自己操作的問題還是怎么,就是報錯,或者運行不了.
今天偶得一篇教程,寫的極好.晚上試着自己從新來一遍.
一. 安裝SpringMVC所需jar包
配置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>Maskkk</groupId> <artifactId>Maskkk</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>Maskkk 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> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.5.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-web --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.2.5.RELEASE</version> </dependency> </dependencies> <build> <finalName>Maskkk</finalName> </build> </project>
來看一下dependency標簽里面的東西都是從哪里來的.
我們可以通過maven庫來查找所需要的groupId,artifactId 等等.
選擇第一個,進入新頁面后,向下滑動,可以看到對應的版本.選擇進去,就能看到pom.xml所需要的東西了.
這樣子,就可以配置好pom.xml文件了.
通過pom.xml安裝jar包.
右鍵pom.xml -> Run As -> Maven install.
接着就會看到console里面打印了好多東西.最后打印出 BUILD SUCCESS.
Java Resources -> Libraries -> Maven Dependencies 目錄下,就可以看到我們根據pom.xml配置所安裝的jar包了.
二. 配置web.xml
web.xml里面的內容
<web-app 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_3_0.xsd" version="3.0"> <servlet> <servlet-name>spring-mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping>
<!-- 這里的servlet-name和上面的要一致. --> <servlet-name>spring-mvc</servlet-name>
<!-- 這里就是url的匹配規則, / 就是匹配所有 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
首先是配置springMVC的servlet. servlet-name里面的值可以為任意值,但是需要和一會兒說的一個xml文件的名字一致.
再說一下servlet-class的值是怎么得來的.
這里配置的是spring的DispatcherServlet.路徑詳見下圖:
其實就是這個路徑.
至此,簡單的web.xml就配置完畢了.
三. 配置spring-mvc-servlet.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.0.xsd"> <!-- 下面是配置掃描包的位置,包名為com.maskkk,也就是說,我們的試圖解析器應該放在com.maskkk包下. --> <context:component-scan base-package="com.maskkk" /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前綴,我們的視圖文件應該放到/WEB-INF/view/目錄下,這里我們需要在WEB-INF下面創建view文件夾 --> <property name="prefix" value="/WEB-INF/view/" /> <!-- 設置后綴為.jsp --> <property name="suffix" value=".jsp" /> </bean> </beans>
四. 創建控制器文件.
在/src/main/java下,創建一個Java類文件.名稱為 FirstController.java 代碼如下:
package com.maskkk; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; //@Controller 控制器注解. @Controller public class FirstController { //@requestMapping @RequestMapping("/Hello") public String hello() { return "Hello"; } }
控制器的代碼就寫完了,接下來我們去寫jsp頁面的代碼.
五. 創建視圖文件
在/src/webapp/WEB-INF/下,創建view,因為這在spring-mvc-servlet.xml里有設置過的.
創建一個Hello.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>Insert title here</title> </head> <body> <h1>This is my first jsp page!</h1> </body> </html>
六. 添加到Tomcat服務器.
如果沒有Tomcat服務器的話,那么可以在這里下載: Tomcat
首先調出Server視圖:
在空白處右鍵, New->Server,我這里選擇的是Tomcat v7.0 server,
然后選擇 next ,雙擊左側的 Maskkk 就添加到服務器中了.然后點擊finish. 右鍵我們創建好的Tomcat服務器,選擇 start ,服務啟動后
我們就可以在瀏覽器中輸入地址: http://localhost:8080/Maskkk/Hello 回車
八. 有問題的地方.
最后我說一下,我遇到的問題.
當我創建了一個Maven項目后,隨着項目一起創建的index.jsp文件,直接報錯.
我的解決方法是: 右鍵項目根目錄 -> properties -> Java Build Path -> Libraries -> Add Library -> Server Runtime -> next -> Apache Tomcat v7.0 -> finish -> ok.
就行了.
Peace Out