Q Q:408365330 E-Mail:egojit@qq.com
綜述:
有一段時間沒做web開發了,最近一直在做Android和IOS開發,但是有個項目需要用同時考慮跨平台必須要用java web做服務端接口。沒辦法,剛開始寫代碼那會做的是ASP.NET web開發,現在只能趕鴨子上架了。java 語言倒是挺熟的(android開發一直在用)。但是Java web開發需呀掌握的技術還是蠻多的。憑着我以前做asp.net開發的經驗,首先得選好幾個框架, MVC框架,ORM工具,IOC和AOP框架。 首先個人特別喜歡MVC模式,所以必不可少選一個MVC框架(既然別人已經造好輪子了,肯定不會傻到自己去實現MVC模式)。java開源生態圈,可選擇的余地非常大,比較出名的莫過於Struts2和SpringMVC.我選擇了SpringMVC.沒有其它原因,只是它小巧易用性能也相當不錯,而且和Spring這ioc框架無縫對接。ORM 我考慮選擇mybatis,不用說大家都知道它的優勢,半自動ORM,性能必須好o IOC和AOP框架不用選了,就Spring了。畢竟以前都混跡於ASP.NET生態圈中,突然到JAVA web生態圈,必須得做些記錄,首先記錄下SpringMVC配置和第一個程序。然后就HelloWold了。
SpringMVC配置和第一個HelloWord
一、導入jar包:
eclipse和tomcat配置和集成就不記錄了。首先在myeclipse中新建一個web項目(為了學習暫時就不用maven去管理項目了jar包了,全部手動去配置和導入)。
如上圖:紅色圈中是要我們自己手動添加的,config目錄是放SpringMVC相關配置的。lib就是我們放jar包的地方,Views是MVC中的View層也就是視圖文件目錄。
將這些jar包拷貝到lib目錄中,myeclipse會自動幫助我們處理我這里是MyEclipse10.x。
二、web.xml配置
1 <!-- 調度用Servlet --> 2 <servlet> 3 <servlet-name>DispatcherServlet</servlet-name> 4 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 5 <init-param> 6 <param-name>contextConfigLocation</param-name> 7 <param-value>WEB-INF/config/spring-mvc.xml</param-value> 8 </init-param> 9 <load-on-startup>1</load-on-startup> 10 </servlet> 11 <!-- URL映射 --> 12 <servlet-mapping> 13 <servlet-name>DispatcherServlet</servlet-name> 14 <url-pattern>/</url-pattern> 15 </servlet-mapping> 16 <servlet-mapping>
重點是這些配置,首先是配置一個Servlet來處理客戶端請求,那么是不是什么請求都由着Servlet來處理呢?答案是肯定的,
<servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
<url-pattern>/</url-pattern>就決定了所有的文件都由這個Servlet來處理。但是我們就疑惑了,我們的靜態文件比如.jpg,.js.css這些文件,當然是有它處理。那客戶端肯定不能請求了,別急,后面我們有方法處理。橋到船頭自然直。
<load-on-startup>1</load-on-startup>
這個就不做過多解釋了,就理解成有這個配置它就和tomcat環境以前啟動吧。
<param-name>contextConfigLocation</param-name><param-value>WEB-INF/config/spring-mvc.xml</param-value>
這個配置很清晰了,這就是配置SpingMVC的文件,這就是為什么我們手動添加config目錄,后面我們會將SpringMVC的配置放進這個目錄。
三、SpringMVC配置文件spring-mvc.xml的配置
在config目錄中新建這個配置文件。添加如下代碼:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" 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" 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.egojit" /> <!-- 配置返回類型 --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <!-- 視圖名稱的解析 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/views/" p:suffix=".jsp" /> </beans>
就不做過多解釋,代碼中有注釋。
<!-- 視圖名稱的解析 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="100" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/views/" p:suffix=".jsp" />
就解釋下這個,這個就是配置mvc 這個c層的目錄,也就是View視圖的目錄路徑。 並且配置了后墜是.jsp
四、代碼Controller和HelloWorld:
首先仔細看下圖:
package com.egojit; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class testController{ @RequestMapping("/test/index") private String Index(){ return "ok"; } }
我通過注解的方式新建了一個Controller.
並且通過@RequestMapping("/test/index")注解映射了URL 它對應的URL是 http://localhost:8080/test3/test/index
return "ok"表示返回了views視圖目錄中的ok.jsp文件(看上圖的紅圈)。這有一個完美的HelloWorld展現在我們面前了。如下圖
這樣SpringMVC就可以用了,會用了后面深入不是分分鍾的事情嘛,
后記:
如果有什么問題希望各位網友指正,比較小弟是初次做java web開發。案例程序可以進CSDN我的資源中去下載,無須積分。jar包和源碼都放在上面,點擊傳送