1. 程式人生 > >spring 之 springMVC 學習1

spring 之 springMVC 學習1

常見MVC框架比較
執行效能上:
Jsp+servlet>struts1>spring mvc>struts2+freemarker>>struts2,ognl,值棧。
開發效率上,基本正好相反。值得強調的是,spring mvc開發效率和struts2不相上下。

Struts2的效能低的原因是因為OGNL和值棧造成的。所以,如果你的系統併發量高,可以使用freemaker進行顯示,而不是採用OGNL和值棧。這樣,在效能上會有相當大得提高

1.環境搭建web.xml

  1. <web-app
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.     xmlns="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5">
  5.     <servlet>
  6.         <servlet-name>dispatcherServlet</servlet-name
    >
  7.         <servlet-class>
  8.             org.springframework.web.servlet.DispatcherServlet  
  9.         </servlet-class>
  10.         <init-param><!--  不設定此內容的話,會預設載入:<servlet-name>標籤內名字+"-servlet”的xml,即dispatcherServlet-servlet.xml-->
  11.             <param-name>contextConfigLocation
    </param-name>
  12.             <param-value>/WEB-INF/web-config.xml</param-value><!-- 有多個配置檔案,中間用,隔開 -->
  13.         </init-param>
  14.         <load-on-startup>1</load-on-startup>
  15.     </servlet>
  16.     <servlet-mapping>
  17.         <servlet-name>dispatcherServlet</servlet-name>
  18.         <url-pattern>/</url-pattern><!-- 所有請求都捕獲 -->
  19.     </servlet-mapping>
  20. </web-app>

web-config.xml:
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <beansxmlns="http://www.springframework.org/schema/beans"
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xmlns:context="http://www.springframework.org/schema/context"
  5.     xmlns:mvc="http://www.springframework.org/schema/mvc"
  6.     xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd  
  7.         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  8.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  9.     <mvc:annotation-driven/>
  10.     <context:component-scanbase-package="com.test.controller"/>
  11.     <mvc:resourceslocation="/resources/"mapping="/resource/**"/><!-- 指定靜態資源(請求不被spring過濾)如css,js等的位置 ,css路徑應是mapping中的路徑-->
  12.     <!-- 頁面View層基本資訊設定 -->
  13.     <beanid="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  14.         <propertyname="viewClass"value="org.springframework.web.servlet.view.JstlView"/><!-- 如果使用jstl的話,配置的屬性 -->
  15.         <propertyname="suffix"value=".jsp"/><!-- 字尾 -->
  16.         <propertyname="prefix"value="/WEB-INF/jsp/"/><!-- 字首 -->
  17.     </bean>
  18.  <!-- 處理檔案上傳 -->
  19.     <beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  20.         <propertyname="defaultEncoding"value="utf-8"/><!-- 預設編碼 (ISO-8859-1) -->
  21.         <propertyname="maxInMemorySize"value="10240"/><!-- 最大記憶體大小 (10240)-->
  22.         <propertyname="uploadTempDir"value="/upload/"/><!-- 上傳後的目錄名 (WebUtils#TEMP_DIR_CONTEXT_ATTRIBUTE) -->
  23.         <propertyname="maxUploadSize"value="-1"/><!-- 最大檔案大小,-1為無限止(-1) -->
  24.     </bean>
  25. </beans>


常用註解使用方法如下例子的註釋:

  1. @Controller
  2. @SessionAttributes({"param","se"})////獲取session,將ModelMap中屬性名字為param、se的再放入session中,這樣,request和session中都有了。
  3. @RequestMapping(value="user")    //--1  @RequestMapping在類前面定義,則將url和類繫結。在方法前面定義,則將url和類的方法繫結
  4. publicclass HelloController {  
  5.     @RequestMapping(value={"/hello2","/hello"},params="method=do")  //--2 value指定多個值,可以多個訪問路徑
  6.     public String hello() {  
  7.         return"hello";   //根據設定將跳到/WEB-INF/jsp/hello.jsp中
  8.     }  
  9.     // 1、2處如果同時定義了路徑則是兩處的疊加 上面的這個訪問路徑:
  10.     //http://localhost:8080/springMVC/user/hello2?method=do   http://localhost:8080/springMVC/user/hello?method=do
  11.     //獲取傳過來的值   直接用引數就可以獲取
  12.     @RequestMapping(params="param=do")  //http://localhost:8080/springMVC/user?param=do&name=ljf&age=22&id=1&uname=test
  13.     public String serv(int id,@RequestParam String name,@RequestParam("age"int old,User u){ //@RequestParam 註解用來表示傳來的引數不和形參一致解決方法
  14.         System.out.println(u.getUname()+" "+id+" "+name+" "+old); //傳過來的值會和物件屬性名字自動匹配
  15.         return"hello";  
  16.     }  
  17. 相關推薦

    spring springMVC 學習1

    常見MVC框架比較 執行效能上: Jsp+servlet>struts1>spring mvc>struts2+freemarker>>struts2,ognl,值棧。 開發效率上,基本正好相反。值得強調的是,spring mvc開發效

    spring boot入門學習---1

    img 學習 sna info 圖片 encoding prop AC 訪問 1.maven配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org

    麥子學院學習視頻機器學習(1):1.1 機器學習介紹

    社會學家 學生 策略 能夠 預測 輸入 min 外部程序 歸納 今天開始學習機器學習,在網上找了很多視頻還有書籍。由於本人不是計算機專業的學生,基礎知識還是比較薄弱,但我非常想學習機器學習以及深度學習。最後還是選擇了麥子學院的彭亮老師的《機器學習基礎介紹》(以

    SpringBean學習

    簡述:Spring框架主要是涉及到IOC(控制反轉)和AOP(切面程式設計)兩大重點 IOC和DI(依賴注入)其實就是等同的意思,就是建立物件和維護物件,放在一個容器裡,直接依賴注入即可使用 AOP的存在目的是為了解耦即高內聚,低耦合 Bean的取值範圍    &nb

    springboot SpringJDBCTemplate學習

    1. mvn install:install-file -Dpackaging=jar -DgroupId=com.baidu -DartifactId=ueditor -Dversion=1.1.1 -Dfile=D:\ueditor-1.1.2.jar 參考資料1.https://blog.csdn.n

    Java容器學習(1)-------------------JavaJava學習路(18)

    前言——容器的學習,剛開始建議先掌握一些基本概念。個人經驗覺得,初學時,必須先從模仿開始,掌握基本方法,然後在平常的使用當中進一步深究,只會使用,內部原理一竅不懂也是不行的,debug的時候會無從下手,這篇文章純粹的屬於應用篇,入門使用篇,非常適合剛學習容器。 Hero類

    AndroidWifi學習(1)

    在Android中對Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面。簡單介紹一下:大致可以分為四個主要的類ScanResult,wifiConfiguration,WifiInfo,WifiManager(1)ScanResult

    springmvc 學習1 springmvc的入口

    學習springmvc 首先了解springmvc大致都有什麼 Springmvc 的幾大模組 1. dispatcherServlet 2.handlermapping 3。controller 4.model 5modelandview 6.view 首先看dispa

    spring源碼學習1 - IDEA構建spring源碼閱讀環境

    pro 繼續 alpha ascii ups spa port aliyun rom 1、下載spring源碼 github地址: https://github.com/spring-projects/spring-framework 選擇一個目錄,在這個目錄右鍵-Git

    spring boot框架學習學前掌握重要註解(1)-java配置方式

    spring boot   本節主要內容:  1:重點註解介紹  2:使用重點註解環境搭建  聲明:  本文是《凱哥陪你學系列-框架學習之spring boot框架學習》中學前掌握之重要註解(1)  java配置是spring 4.x推薦的撇嘴方式。可以完全代替xml配置。  1:重點註解  @con

    SpringMVC學習系列(1 初識SpringMVC

    映射 lin logs intern fault lan 前端 png let /*springMvc的總結:(推薦,總共有十五章) *http://www.cnblogs.com/liukemng/p/3751338.html */ 1.什麽是Spring MVC:

    springmvc學習jdk版本,tomcat版本,spring版本

    使用的軟體是myeclipse2018,jdk8,tomcat9.0,spring3.2.0 以上為我的軟體及各種配置 1.建立了web工程,build path 使用的是預設的j2EE1.8(只有配置了jdk8之後才能使用) 2.執行工程的時候jdk的版本只能     

    spring boot學習1 spring boot整合freemark、mybatis搭建專案

    1. application.properties常用配置 server.port=9090 # 服務埠號 server.tomcat.uri-encoding=UTF-8 #以Tomcat為web容器

    SpringMVC學習系列(12) 完結篇 基於Hibernate+Spring+Spring MVC+Bootstrap的管理系統實現

    到這裡已經寫到第12篇了,前11篇基本上把Spring MVC主要的內容都講了,現在就直接上一個專案吧,希望能對有需要的朋友有一些幫助。 一、首先看一下專案結構: InfrastructureProjects:是抽取出的基礎專案,主要封裝了一些通用的操作。 SpringMVC3Demo:就是管理系統

    spring學習springMVC 返回型別選擇 以及 SpringMVC中model,modelMap.request,session取值順序

    spring mvc處理方法支援如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。下面將對具體的一一進行說明:ModelAndView Java程式碼   @RequestMapping("/show1")   publicMo

    Spring Boot 學習路——4.1 AOP註解方式實現列印日誌 詳解

    以下內容轉自:https://www.cnblogs.com/lixiang1993/p/7447853.html1.宣告一個切面類,並把這個切面類加入到IOC容器中@Component@Aspectpublic class LogAspect{    @Pointcut(v

    spring boot學習1main和tomcat啟動及log日誌

         寫了個spring boot例子,的確是零配置,平時需要寫個web例子測試之類的時候,用它還挺方便的。現在開發都搞微服務,api端之前都是dubbo或jesry,現在也可以用spring boot了。     現在記錄下spring boot的小例子,maven構

    spring boot框架學習學前掌握重要註解(1)-sprng的java配置方式

    本節主要內容: 1:重點註解介紹 2:使用重點註解環境搭建 宣告: 本文是《凱哥陪你學系列-框架學習之spring boot框架學習》中學前掌握之重要註解(1) java配置是spring 4.x推薦的撇嘴方式。可以完全代替xml配置。 1:重點註解 @configurat

    JavaWeb學習入門——圖書館管理系統開發(Hibernate學習1

    pass ica void 技術分享 gets 學習 images 創建 driver 最近看了看JavaWeb的書籍,才感覺到大二時候學的JavaWeb才僅僅只是個入門。最尷尬的當初還沒咋學一直在看.NET,現在看起來JavaWeb,各種框架各種頭疼啊。看了幾個例子之後覺

    Android學習——優化篇(1)

    androi static 實用 mod 簡單 keys 階段 數據 秒級 一、優化的品質 1.簡練。2.可讀性強。3.模塊化;4.層次性;5.設計良好。6.高效。7.優雅;8.清晰。 二、常見的編程規範 1. 基本要求 · 結構清晰,簡