[讀後感]spring Mvc 教程框架實例以及系統演示下載
javascript
太陽火神的漂亮人生 (http://blog.csdn.net/opengl_es)css
本文遵循「署名-非商業用途-保持一致」創做公用協議html
不要好意思。昨晚寫的。睡着忘發了。後附是篇好文。趕忙w分享一下。java
感腳着,俺好像作了件聰明事兒,殊不知會不會遭到不理解。mysql
轉載的好文。是不會推薦到首頁的,因此,用這樣的讀後感的方式,引用好文,發表讀後之感。web
固然,不是任意編造,而是確有實感。而且好文,確實也不是能出來的感覺,請向後看吧。spring
---------------sql
這篇沒什麼好說的,直接照作,不論是本地 Tomcat 6 ,仍是 SAE 都能正常執行。數據庫
以前下了個處理微信的源代碼,想搞個我的微信公佈,發些微信上轉載的精品文章。誰想確沒那麼easy。
看來就得一步一步地試試了。
首先、使用 Eclipse 建個動態 Web 工程。增長個 index.jsp,公佈 War 包到 Tomcat 6,測試成功,再上傳到 SAE,也成功了;
而後、找來下文,逐步照作,並下載附件中 JAR 包增長,繼續公佈。也成功了;
接着、還不知道要作什麼,是研究一下 MyBatis ,仍是研究一下 Spring MVC 的深刻配置與註解處理規則?
弄着玩的東西,也無所謂了。走哪算哪兒。有閒工夫,就花上半小時,玩一玩,比玩遊戲要強一些吧。玩遊戲鍛鍊身體的耐力。
玩這東西,拿着 11寸 Mac Book Air ,你是想躺着,仍是臥着,又或趴着。反正一指禪足夠用了。對身體基本沒有要求。
話說,研究這東西。儘管工做中用不到。但至少看別人寫的東西,疏理個大致邏輯,仍是沒問題的。有助於工做上溝通和問題解決,何樂不爲呢。
但願此文能給愛玩的兄弟一些參照,借超有愛的原做者的花,獻給你們吧!
發表時間:2014-09-04 11:31 | coding雲 | 3320次閱讀 | 21條評論
今天coding云爲你們帶來spring mvc框架的實例教程,該教程沒有複雜的內容,不需要了解spring mvc的執行機制,就可以搭建好框架,繼而進行高速開發,以此來體會spring mvc框架的簡單、易用、方便以及安全的各類特性。事先說明,本文沒有過多的理論內容。但是當您搭建好這套框架,慢慢的就能體會到當中包括的理論知識了哦。
配置文件我都爲你們準備好了,而且有源代碼包可以下載。這樣就能方便您的高速學習,等您在本身的機器搭建好該項目。跑起來本文提供的簡單樣例後。您可以看看咱們的源代碼,凝視都很是具體。經過樣例去理解這些配置。這樣就能幫助您高速理解spring mvc的一些執行機制,從而掌握這套優秀的框架。
順便告訴你們一聲,coding雲就是創建在該樣例之上的哦。期待您也能成長爲擁有類似coding雲這樣網站的大牛哦。ok,如下開始着手搭建框架。
1、準備eclipse開發環境
eclipse是java程序猿必備的開發環境。假設您還在用MyEclipse的話,我僅僅能強烈建議您開始使用eclipse,做爲一個java程序猿。假設沒實用過eclipse的話,那就不是一個合格的java程序猿。具體緣由請百度。
我爲你們準備的是eclipse4.3版本號,僅僅安裝了常用的插件,比方svn版本號控制以及maven等,全然從官方的最第一版本號安裝插件後的版本號。
你們可以到個人網盤下載,如下是免費共享連接:
http://yunpan.cn/Q7ws623WhxEZg 提取碼 ca2c
至於jdk的環境變量等(java程序猿必須懂),請自行google、百度。
2、eclipse下新建項目
1. 打開eclipse後。點擊【File】--》【new】。彈出窗體,選擇【web】--》【Dynamic Web project】
2. 一路next。在新打開的窗體,輸入項目名稱,本例中輸入的是codingyun-demo,繼續點擊next,最後點擊finish。項目列表中就能看到咱們的新項目codingyun-demo了.
3. 導入spring mvc相關的jar包到lib下
首先下載jar包,我已經把相關jar包都準備好了,你們可以到網盤直接下載:
http://yunpan.cn/Q7wyWjWYfW5Wq 提取碼 d2c4
解壓縮後,將所有jar包放到項目的【WebContent】文件夾下的【WEB-INF】文件夾下的lib文件夾下,直接複製粘貼進去就ok
4.配置項目引用剛纔導入到lib下的jar包
右鍵點擊項目名,在菜單中選擇【Build Path】--》【Configuration Build Path...】
3、新增spring mvc的配置文件
找到項目文件夾下的【Java Resources】,右鍵點擊【Java Resources】。在彈出窗體選擇【new】--》【Source folder】。
source folder建好以後。需要把配置文件複製粘貼進去。例如如下圖:
這四個文件各自是:
database.properties:配置數據庫鏈接的地址,username以及密碼
jdbc-context.xml:spring mvc的jdbc鏈接數據庫的bean的配置
springMvc3-servlet.xml:spring mvc的其它配置(很是重要)
log4j.properties:控制檯打印日誌的配置、輸出日誌文件的配置
1. database.properties的配置:注意替換shujuku_name爲你的數據庫名稱,還實username、密碼
mysql.driverclass=com.mysql.jdbc.Driver
mysql.jdbcurl=jdbc:mysql://127.0.0.1:3306/shujuku_name?autoReconnect=true&useUnicode=true&characterEncoding=utf8
mysql.user=root
mysql.password=abc123
2. jdbc-context.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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd" default-autowire="byName">
<!-- 建立數據源 commons-dbcp.jar; commons-pool.jar包-->
<context:property-placeholder location="classpath:database.properties"/>
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${mysql.driverclass}" />
<property name="url" value="${mysql.jdbcurl}" />
<property name="username" value="${mysql.user}" />
<property name="password" value="${mysql.password}" />
</bean>
<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg><ref bean="dataSource"/></constructor-arg>
</bean>
<!-- 看了spring源代碼,該 org.springframework.jdbc.core.JdbcTemplate類的繼承類有dataSource屬性。因此可以屬性注入-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
</beans>
3. springMvc3-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:p="http://www.springframework.org/schema/p"
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-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">
<!-- 啓動掃描所有的controller -->
<context:component-scan base-package="com.codingyun.core.action"/>
<!-- 主要做用於@Controller。激活該模式
如下是一種簡寫形式,全然可以手動配置替代這樣的簡寫形式;
它會本身主動註冊DefaultAnnotationHandlerMapping與AnnotationMethodHandlerAdapter 兩個bean,
是spring MVC爲@Controllers分發請求所必須的
-->
<!-- <mvc:annotation-driven/> -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!-- 配置js,css等靜態文件直接映射到相應的文件夾,不被DispatcherServlet處理 -->
<mvc:resources location="/WEB-INF/resources/**" mapping="/resources"/>
<mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/>
<mvc:resources mapping="/styles/**" location="/static/css/"/>
<mvc:resources mapping="/images/**" location="/static/images/"/>
<!-- 配置頁面訪問地址www.xxx.com/about返回的靜態html文件 -->
<mvc:resources mapping="/about/**" location="/WEB-INF/html/"/>
<!-- 走servlet的默認配置,先走默認的web.xml配置的servlet,沒有的話才找相應controller -->
<mvc:default-servlet-handler />
<!-- jsp頁面解析器,當Controller返回XXX字符串時。先經過攔截器。而後該類就會在jsp/文件夾下,查找XXX.jsp文件-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
<property name="maxUploadSize">
<value>32505856</value><!-- 上傳文件限制大小爲31M,31*1024*1024 -->
</property>
<property name="maxInMemorySize">
<value>4096</value>
</property>
</bean>
</beans>
4. log4j.properties的配置:
log4j.rootLogger=INFO,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
log4j.appender.console.threshold=INFO
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n
log4j.appender.R.File=/alidata/zkyj/web/zkyj-web.log
log4j.appender.R.Append=true
log4j.appender.R.Threshold=INFO
log4j.appender.R.MaxFileSize=20MB
log4j.appender.LOGFILE.MaxBackupIndex=100
log4j.org.springframework.web=INFO
4、配置web.xml,以及新建jsp、css、js等文件夾
按照上圖,新建文件夾。以及web.xml文件
web.xml的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>zkyj-web</display-name>
<!-- web.xml 的載入順序是:context-param -> listener -> filter -> servlet 。
而同個類型之間的實際程序調用的時候的順序是依據相應的 mapping 的順序進行調用的 -->
<!-- spring上下文載入監聽器,確保web服務啓動時,spring已經完畢初始化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:jdbc-context.xml</param-value>
</context-param>
<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>
<servlet>
<servlet-name>springMvc3</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMvc3-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 會話超時配置(單位爲分鐘) -->
<session-config>
<session-timeout>120</session-timeout>
</session-config>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springMvc3</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!-- 經過錯誤碼來配置error-page ,配置了當系統發生404錯誤時。跳轉到錯誤處理頁面NotFound.jsp。 -->
<error-page>
<error-code>404</error-code>
<location>/page404.html</location>
</error-page>
<!-- 經過異常的類型配置error-page ,配置了當系統發生java.lang.NullException(即空指針異常)時,跳轉到錯誤處理頁面error.jsp -->
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/WEB-INF/jsp/error.jsp</location>
</error-page>
</web-app>
5、新建controller,接收頁面請求,返回相應的頁面
在項目的src文件夾下新建包com.codingyun.core.action
在該包下新建indexController.java
indexController.java內容:
package com.codingyun.core.action;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class IndexController{
/**
* 進入demo首頁
* @user jack
* 2014年9月4日
*/
@RequestMapping(value = "", method = RequestMethod.GET)
public String index(HttpServletRequest request){
//相應的是WebContent文件夾下的WEB-INF文件夾下的jsp文件夾下的demo下的index.jsp
//請查看配置文件springMvc3-servlet.xml細緻體會一下
return "demo/index";
}
}
6、配置tomcat。啓動tomcat後,測試訪問localhost
http://localhost:8080/codingYun-Demo/ 訪問成功。則說明項目搭建成功。
7、框架源代碼下載
此次的spring mvc框架實例,我爲你們無償共享到個人雲盤了。若有需要,請自行下載。
最後補充一句,有不論什麼問題。您都可以在本頁評論處留言,我會盡快爲您解答。
http://yunpan.cn/Q7cPpVKAqNN4E 提取碼 2fde
假設幫到您的話,請爲本文點贊、同一時候分享給您的好友圈。
******************2014年10月10日18:30:10更新*************
coding雲的粉絲們。福利來了。spring Mvc 框架實例進階篇已經爲你們提供了哦。包括了coding雲的主頁、登陸功能、驗證碼功能,而且頁面集成了bootstrap前端框架哦。你們快快來下載項目源代碼吧。