時間:2023-05-23 16:15:01 | 來源:網站運營
時間:2023-05-23 16:15:01 來源:網站運營
使用IntelliJ IDEA開發(fā)SpringMVC網站(二)框架配置:注:此文承接上一文:java鋼鐵俠-馬克51號:使用IntelliJ IDEA開發(fā)SpringMVC網站(一)開發(fā)環(huán)境作者:Gaussic
原文:使用IntelliJ IDEA開發(fā)SpringMVC網站(二)框架配置
出自:開源中國
<?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>SpringMVCDemo Web Application</display-name></web-app>
在<web-app>中加入一個servlet:<?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>SpringMVCDemo Web Application</display-name> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
該servlet名為mvc-dispatcher(名稱可修改),用于攔截請求(url-pattern為 / ,說明攔截所有請求),并交由Spring MVC的后臺控制器來處理。這一項配置是必須的。<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param></filter><filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
至此,web.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"></beans>
MVC框架有model、view、controller三部分組成。model一般為一些基本的Java Bean,view用于進行相應的頁面顯示,controller用于處理網站的請求。package com.gaussic.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;/** * Created by dzkan on 2016/3/8. */@Controllerpublic class MainController { @RequestMapping(value = "/", method = RequestMethod.GET) public String index() { return "index"; }}
<?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"> <!--指明 controller 所在包,并掃描其中的注解--> <context:component-scan base-package="com.gaussic.controller"/></beans>
再進行js、image、css等靜態(tài)資源訪問的相關配置,這樣,SpringMVC才能訪問網站內的靜態(tài)資源:<!-- 靜態(tài)資源(js、image等)的訪問 --><mvc:default-servlet-handler/>
再開啟springmvc注解模式,由于我們利用注解方法來進行相關定義,可以省去很多的配置:<!-- 開啟注解 --><mvc:annotation-driven/>
再進行視圖解析器的相關配置:<!--ViewResolver 視圖解析器--><!--用于支持Servlet、JSP視圖解析--><bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/></bean>
關于controller如何找到視圖文件,這里需要詳細的說明。在 controller 的一個方法中,返回的字符串定義了所需訪問的jsp的名字(如上面的index)。在jspViewResolver中,有兩個屬性,一個是prefix,定義了所需訪問的文件路徑前綴,另一是suffix,表示要訪問的文件的后綴,這里為 .jsp。那么,如果返回字符串是 xxx ,SpringMVC就會找到 /WEB-INF/pages/xxx.jsp 文件。<?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"> <!--指明 controller 所在包,并掃描其中的注解--> <context:component-scan base-package="com.gaussic.controller"/> <!-- 靜態(tài)資源(js、image等)的訪問 --> <mvc:default-servlet-handler/> <!-- 開啟注解 --> <mvc:annotation-driven/> <!--ViewResolver 視圖解析器--> <!--用于支持Servlet、JSP視圖解析--> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean></beans>
我們刪除 webapp 目錄下的 index.jsp 文件,在WEB-INF目錄下新建文件夾pages,再在pages目錄下新建 index.jsp,并修改為如下所示:<%@ page contentType="text/html;charset=UTF-8" language="java" %><!DOCTYPE html><html lang="zh-CN"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- 上述3個meta標簽*必須*放在最前面,任何其他內容都*必須*跟隨其后! --> <title>SpringMVC Demo 首頁</title> <!-- 新 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]--></head><body><h1>這里是SpringMVC Demo首頁</h1><h3>出現此頁面,說明配置成功。</h3><!-- jQuery文件。務必在bootstrap.min.js 之前引入 --><script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script><!-- 最新的 Bootstrap 核心 JavaScript 文件 --><script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script></body></html>
關鍵詞:配置,使用