『壹』 spring-boot 適合開發web應用嗎
spring-boot 適合開發web應用的
靜態資源訪問
在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。
默認配置
Spring Boot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:
/static
/public
/resources
/META-INF/resources
舉例:我們可以在src/main/resources/目錄下創建static,在該位置放置一個圖片文件。啟動程序後,嘗試訪問http://localhost:8080/D.jpg。如能顯示圖片,配置成功。
渲染Web頁面
在之前的示例中,我們都是通過@RestController來處理請求,所以返回的內容為json對象。那麼如果需要渲染html頁面的時候,要如何實現呢?
模板引擎
在動態HTML實現上Spring Boot依然可以完美勝任,並且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。
Spring Boot提供了默認配置的模板引擎主要有以下幾種:
Thymeleaf
FreeMarker
Velocity
Groovy
Mustache
Spring Boot建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現Spring Boot的多種特性,具體可見後文:支持JSP的配置
當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates。當然也可以修改這個路徑,具體如何修改,可在後續各模板引擎的配置屬性中查詢並修改。
Thymeleaf
Thymeleaf是一個XML/XHTML/HTML5模板引擎,可用於Web與非Web環境中的應用開發。它是一個開源的Java庫,基於Apache License 2.0許可,由Daniel Fernández創建,該作者還是Java加密庫Jasypt的作者。
Thymeleaf提供了一個用於整合Spring MVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在於提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對於編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。
『貳』 如何用Spring Web MVC架構圖進行開發
SpringMVC工作流程描述
(1)向伺服器發送HTTP請求,請求被前端控制器DispatcherServlet捕獲。
(2)DispatcherServlet 根據<servlet-name>-servlet.xml中的配置對請求的URL進行解析,得到請求資源標識符(URI)。
然後根據該URI,調用HandlerMapping獲得該Handler配置的所有相關的對象(包括Handler對象以及Handler對象對應的攔截器),最後以HandlerExecutionChain對象的形式返回。
(3)DispatcherServlet 根據獲得的Handler,選擇一個合適的HandlerAdapter。(附註:如果成功獲得HandlerAdapter後,此時將開始執行攔截器的preHandler(...)方法)。
(4)提取Request中的模型數據,填充Handler入參,開始執行Handler(Controller)。 在填充Handler的入參過程中,根據你的配置,Spring將幫你做一些額外的工作:
HttpMessageConveter: 將請求消息(如Json、xml等數據)轉換成一個對象,將對象轉換為指定的響應信息。
數據轉換:對請求消息進行數據轉換。如String轉換成Integer、Double等。
數據根式化:對請求消息進行數據格式化。 如將字元串轉換成格式化數字或格式化日期等。
數據驗證: 驗證數據的有效性(長度、格式等),驗證結果存儲到BindingResult或Error中。
(5)Handler(Controller)執行完成後,向 DispatcherServlet 返回一個ModelAndView對象;
(6)根據返回的ModelAndView,選擇一個適合的ViewResolver(必須是已經注冊到Spring容器中的ViewResolver)返回給DispatcherServlet。
(7)ViewResolver 結合Model和View,來渲染視圖。
(8)視圖負責將渲染結果返回給客戶端。
『叄』 如何用myeclipse spring mvc 開發web
環境版本
IDE:MyEclipse 8.5
Spring:spring 3.2.8
JDK:1.6
1.打開MyEclipse-->File-->New-->Web Project,在打開的對話框裡面輸入project Name為SpringMvc,點擊Finish。如下圖所示:
2.在新建項目上右鍵選擇,properties-->Java Build Path-->Libraries-->Add External JARs,引入spring-framework-3.2.8.RELEASE-dist目錄下幾個必需的jar包.
3.文件結構
4.web.xml配置:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" 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_2_5.xsd"> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <!-- 監聽所有請求 --> <url-pattern>/</url-pattern> </servlet-mapping></web-app>
5.springmvc-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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 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"> <!-- 掃描所有的 controller --> <context:component-scan base-package="com.springmvc.controllers" /> <!-- 啟動註解驅動 SpringMVC 功能 --> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/views/" /> <property name="suffix" value=".jsp" /> </bean></beans>
6.在WebRoot目錄下,新建views文件夾,添加index.jsp.
7.在com.springmvc.controllers包下,新建HomeController類文件,
8.部署項目運行,訪問http://localhost:8080/SpringMvc/home,
『肆』 初學java web開發,用spring+ibatis+velocity,請推薦一本比較經典的書,最好是入門級的,謝謝!!
額,這三個合在一起的書很少有吧,還是先單個學習,在做整合的項目吧
『伍』 基於spring開發的b/s架構的web系統,有哪些提升性能的辦法
一般而言, 普通的項目很難達到非常誇張的流量, 如果提升性能可以做一下操作
對於高頻的請求, 看能否使用緩存, 減少壓力, 比如用guava/redis
mysql根據你的業務進行索引優化與sql查詢優化, 對於這類架構來說提升最為明顯
可以look at my name 找一些例子
『陸』 基於Spring框架開發的Web程序,如何動態修改
18歲覺醒了,
『柒』 如何利用spring boot做一個簡單的web應用
spring-boot適合開發web應用的靜態資源訪問在我們開發Web應用的時候,需要引用大量的js、css、圖片等靜態資源。默認配置SpringBoot默認提供靜態資源目錄位置需置於classpath下,目錄名需符合如下規則:/static/public/resources/META-INF/resources舉例:我們可以在src/main/resources/目錄下創建static,在該位置放置一個圖片文件。啟動程序後,嘗試訪問頁面的時候,要如何實現呢?模板引擎在動態HTML實現上SpringBoot依然可以完美勝任,並且提供了多種模板引擎的默認配置支持,所以在推薦的模板引擎下,我們可以很快的上手開發動態網站。SpringBoot提供了默認配置的模板引擎主要有以下幾種:建議使用這些模板引擎,避免使用JSP,若一定要使用JSP將無法實現SpringBoot的多種特性,具體可見後文:支持JSP的配置當你使用上述模板引擎中的任何一個,它們默認的模板配置路徑為:src/main/resources/templates。當然也可以修改這個路徑,具體如何修改,可在後續各模板引擎的配置屬性中查詢並修改。ThymeleafThymeleaf是一個XML/XHTML/HTML5模板引擎,可用於Web與非Web環境中的應用開發。它是一個開源的Java庫,基於ApacheLicense2.0許可,由DanielFernández創建,該作者還是Java加密庫Jasypt的作者。Thymeleaf提供了一個用於整合SpringMVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP或其他模板引擎,如Velocity、FreeMarker等。Thymeleaf的主要目標在於提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與HTML模板。相對於編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。
『捌』 如何開發線程安全的Spring Web應用
如果開發者正開發或維護基於Servlet的Web應用,則Servlet規范建議最好能夠看看。因為它含有的內容對於Web應用開發者理解Servlet容器的工作機理很有幫助。
規范中最有趣的一部分是給出了Servlet容器是如何處理客戶請求的。Servlet容器將會根據web.xml配置文件中定義的各個Servet而創建相應的單例(Singleton)。因此,客戶請求可能同時訪問這些單例,即多個線程同時運行你的代碼。在Web應用中保證線程安全是很重要的。開發者應該對這個問題保持警惕,而且必須確保各自的代碼必須以線程安全的方式運行。
『玖』 eclipse3.5如何配置spring web開發環境
1、開始使用Myeclipse應為如果要研究spring基本上是用於jee開發的居多,Myeclipse已經為帶有了很多常用的插件,開發起來非常便利。
2、使用Myeclipse建立項目,有兩個方法可以建立項目
1.file---new---web project 輸入項目名,完成
2.在左邊package Explorer空白處,右擊---new---web project同上建立成功
3、右擊項目名---properties---java build path---Libraries 點右邊的 "Add Library",在跳出的窗口中選擇 「MyEclipse Libraries」,然後 把spring 2.5的都勾上。
以上項目spring jar包安裝完畢
然後是配置文件:
1 打開項目的WebRoot--WEB-INF 下打開web.xml
這樣你就配置好了
『拾』 spring在web項目中配置的幾種方式的分析
1. 載入spring容器
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/application-*</param-value>
</context-param>
2. 配置監聽器 作用: 在啟動web容器的時候 自動裝配Spring application.xml配置信息
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3. springmvc前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
4. /
<servlet-mapping>
<servlet-name>springmVC</servlet-name>
<!--
第一種: *.action,訪問以。action結尾 由DispatcherServlet解析
第二種 : /,所以訪問的地址都由DispatcherServlet進行解析,對於靜態文件的解析需要配置不讓Dispatcher進行解析
第三種:/*,這樣配置不對,使用這種配置,最終要轉發到一個jsp頁面,仍然有Dispatcher進行解析 Handler找不到這樣就會報錯
*/
-->
<url-pattern>/</url-pattern>
</servlet-mapping>
5. 解決亂碼的問題
<filter>
<filter-name>CharacterEncodingFilter</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>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>