SpringMVC學習記錄(一)--環境配置


在IDEA下配置SpringMVC環境是相當簡單的,這里強烈推薦Intellij IDEA開發javaWEB簡直完爆eclipse.


1.創建項目

創建項目很簡單,直接選擇SpringMVC即可,並且IDEA會自動配置Spring的架包
這里寫圖片描述

創建后的項目結構如下:
這里寫圖片描述


2.基本配置和tomcat服務器配置

首先在WEB-INF文件夾中建立lib文件夾,用於放我們自己的包,然后在Project Structure里面加入我們的包和tomcat的包
這里寫圖片描述

然后在運行那里配置tomcat服務器
這里寫圖片描述

到此環境算配置完畢,其他很多工作IDEA都幫我們做好了,下面分析下IDEA做的那些配置


3.各種xml文件配置

  • 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">

<!--指定spring的配置文件所在的目錄-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!--設置spring監聽器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--配置springMVC,這里的servlet名稱決定着SpringMVC配置文件的名稱-->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--啟動時加載,1代表優先級,越小代表越高-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<!--這里修改為全部頁面-->
<url-pattern>/</url-pattern>
</servlet-mapping>

<!--配置請求編碼(這一部分是手動配置的)-->
<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> <!--設置你想用的字符集,我這里用的是UTF-8-->
</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> <!--設置你想過濾的頁面或者是Servlet,根據自己的需要配置-->
</filter-mapping>
</web-app>
  • ApplicationContent.xml(Spring配置文件)
<?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>
  • dispatchce-servlet.xml(SpringMVC配置文件)
<?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>

4.修改Spring MVC配置文件

修改前需要在WEB-INF下的lib中引入jstl的三個包,並且在WEB-INF中建立static文件夾,該文件夾中建立css,js,images三個子文件夾,然后按照如下配置

<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:content="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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">


<!-- 自動掃描該包,使SpringMVC認為包下用了@controller注解的類是控制器 -->
<content:component-scan base-package="main.java.controller"/>

<!-- 配置注解驅動 -->
<mvc:annotation-driven/>

<!-- 對模型視圖名稱的解析,即在模型視圖名稱添加前后綴(如果最后一個還是表示文件夾,則最后的斜杠不要漏了) 使用JSP-->
<!-- 默認的視圖解析器 在上邊的解析錯誤時使用 (默認使用html)- -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--可以使用jstl標簽-->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/jsp/"/><!--設置JSP文件的目錄位置-->
<property name="suffix" value=".jsp"/>
</bean>

<!--靜態資源映射-->
<!--
表示當瀏覽器有靜態資源請求的時候,並且請求url路徑中帶有:/js/,則這個資源跑到webapp目錄下的/WEB-INF/statics/js/去找
比如我們在 JSP 中引入一個 js 文件:src="${webRoot}/js/jQuery-core/jquery-1.6.1.min.js
兩個*表示當前文件夾及其子文件夾都可訪問
-->

<mvc:resources mapping="/css/**" location="/WEB-INF/static/css/"/>
<mvc:resources mapping="/js/**" location="/WEB-INF/static/js/"/>
<mvc:resources mapping="/images/**" location="/WEB-INF/static/images/"/>

</beans>

5.實現一個簡單的Hello World

對此不解釋,只是簡單實現例子,下一篇開始學習controller

首先建立一個HelloController.java,讓其跳轉到hello.jsp

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
* Created by nl101 on 2016/4/4.
*/

@Controller
public class HelloController {

@RequestMapping(value = "/hello",method = RequestMethod.GET)
public String hello(){

return "hello";
}
}

其次在WEB-INF–jsp下建立hello.jsp,寫上Hello World

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1 style="text-align: center">Hello World!</h1>
</body>
</html>

啟動tomcat,訪問localhost:8888/hello(數字是你tomcat的端口號)

這里寫圖片描述

此時整個項目結構如下,希望對大家有幫助
這里寫圖片描述


補充

一.配置spring和springMVC映射文件

對於spring和springMVC大多時候配置文件都是統一放在resources文件夾的,這個時候就需要在web.xml中額外配置spring和springMVC的映射文件了.

如下圖,我的配置文件在resources下的spring文件夾中
這里寫圖片描述

相應的我就應該單獨設置映射文件路徑

<!--配置spring-->
<context-param>
<param-name>contextConfigLocation</param-name>
<!--配置文件的路徑-->
<param-value>classpath:spring/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--配置springMVC-->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<!--配置文件的路徑-->
<param-value>classpath:spring/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>

項目示例可以參考:
SSM框架整合: https://github.com/nl101531/JavaWEB


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com