国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringMVC入門筆記

zhaochunqi / 3263人閱讀

摘要:入門筆記簡介是一種基于的實現了設計模式的請求驅動類型的輕量級框架,是系開源項目中的一個,和配合使用。配置在中需要添加使用的和映射規則。入門較快,而掌握起來相對較難。

SpringMVC入門筆記 1. 簡介

Spring MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架 ,是Spring系開源項目中的一個,和IoC配合使用。通過策略接口,Spring框架是高度可配置的,而且支持多種視圖技術。Spring分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓他們更容易進行定制。Spring MVC解決的問題如下:

將web頁面的請求傳給服務器;

根據不同的請求處理不同的邏輯單元;

返回處理結果數據并跳轉至響應頁面;

通過下面這樣圖可以看到Spring MVC在Spring全家桶中的位置:

2. Spring MVC實例

現在總結一下搭建一個完整SpringMVC的步驟,期間遇到了很多坑,404的問題坑了好久,先來記錄一下成功的搭建步驟,后面附上源碼。本文使用eclipse(Version: Photon Release (4.8.0))搭建SpringMVC。

2.1 新建maven工程

新建一個maven project。

新建好的工程結構應該是這樣的:

│  .classpath
│  .project
│  pom.xml
│
├─.settings
│      .jsdtscope
│      org.eclipse.jdt.core.prefs
│      org.eclipse.m2e.core.prefs
│      org.eclipse.wst.common.component
│      org.eclipse.wst.common.project.facet.core.xml
│      org.eclipse.wst.jsdt.ui.superType.container
│      org.eclipse.wst.jsdt.ui.superType.name
│      org.eclipse.wst.validation.prefs
│
├─src
│  └─main
│      ├─resources
│      └─webapp
│          │  index.jsp
│          │
│          └─WEB-INF
│                  web.xml
│
└─target
    ├─classes
    ├─m2e-wtp
    │  └─web-resources
    │      └─META-INF
    │          │  MANIFEST.MF
    │          │
    │          └─maven
    │              └─com.wangjun
    │                  └─learnSpringMVC
    │                          pom.properties
    │                          pom.xml
    │
    └─test-classes
2.2 添加pom依賴

既然是SpringMVC工程,肯定要添加SpringMVC的包,可以去http://mvnrepository.com/查找,除了SpringMVC還需要添加javax.servlet的包。搞不懂為什么網上很多教程都添加了spring的bean,aop,core這些基礎包,這些基礎包已經被springmvc依賴了,已經包含進來了,就不用再pom文件手動依賴了。

pom.xml


  4.0.0
  com.wangjun
  spring1
  war
  0.0.1-SNAPSHOT
  spring1 Maven Webapp
  http://maven.apache.org
  
    
      junit
      junit
      3.8.1
      test
    
    
    
        org.springframework
        spring-webmvc
        4.3.18.RELEASE
    
    
    
        javax.servlet
        javax.servlet-api
        4.0.0-b01
        provided
    
  
  
    spring1
  
2.3 配置web.xml

在web.xml中需要添加使用的servlet和映射規則。

web.xml




  Archetype Created Web Application
  
  
  
      springmvc
      
         org.springframework.web.servlet.DispatcherServlet
      
      1
   

   
      springmvc  
      / 
   
2.4 新建springmvc-servlet.xml文件

在web.xml同級目錄下新建springmvc-servlet.xml文件(就是在web.xml配置的servletName+servlet)。這里面負責配置映射類和視圖適配器等。

springmvc-servlet.xml



       
   
   

    
   
   
   
   
   
           
      
      
      
   
2.5 新建頁面jsp文件

在WEB-INF下新建jsp文件夾,然后在jsp下新建demo.jsp

demo.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>




Insert title here


Hello springMVC!

2.6 新建controller控制類

在main文件夾下新建java文件夾,在新建HelloController.java文件,包名為com.learnspringmvc.controllers。

package com.learnspringmvc.controllers;

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

//控制器注解
@Controller
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping("/showdemo")
    public String getString() {
        
        // 必須在配置的view路徑下存在demo.jsp,否則返回404
        return "demo";
    }

}
2.7 編譯打包

進入到項目的根目錄下(pom.xml存在的文件夾),打開doc,執行mvc install,出現BUILD SUCCESS表示打包成功,在target文件夾下生成learnSpringMVC.war,將此war包移動到tomcat的webapps下面,重啟服務器,訪問http://localhost:8080/learnSpringMVC/hello/showdemo:(注意:8080:后面緊跟的不是在web.xml中配置的servlet-name,而是在pom.xml中build的finalName屬性)

2.8 關于404問題的坑

在搭建工程的時候,訪問頁面顯示404,困擾了很久,也在網上搜了很多答案,這是一篇質量比較高的:https://blog.csdn.net/baidu_1...。404問題很難排查,因為并沒有報錯和堆棧信息,只能一個一個的排查可能的問題,寫這邊博客的時候又發現了一個導致404的原因,就是上面2.7寫到的:8080:后面緊跟的不是在web.xml中配置的servlet-name,而是在pom.xml中build的finalName屬性。可見404問題無處不見,由于自己對SpringMVC框架只是個小白,只能搜索加嘗試。希望后面能成為大神級別的。這種問題都是小case。

源碼:https://github.com/WangJun-SC...
3. SSH個SSM兩個框架的區別

SSH(Spring,Struts,Hibernate)和SSM(Spring,SpringMVC,MyBatis)的區別其實就是SpringMVC和Struts,Hibernate和MyBatis的區別。

3.1 SpringMVC和Struts的區別

Struct和Spring-MVC都是負責取轉發的,但是兩者針對request的請求上面區別很大,Struct是針對一個Action類來進行請求的,即一個Action類對應于一個請求,所以類攔截,請求的數據類共享。而Spring-MVC則是針對于方法級別的請求的,也就是一個方法對應于一個請求,屬于方法攔截,請求的數據方法不共享。

Spring-MVC的配置文件相對來說較為少,容易上手,可以加快軟件開發的速度。

Spring-MVC的入口是Servlet級別的而Struct的級別是Filter級別的。

3.2 Hibernate和MyBatis的區別

Hibernate是一種O/R關系型,即完成數據庫表和持久化類之間的映射,而MyBitas是針對的SQL-Mapping,Hibernate把數據庫給封裝好以后,可以調用相應的數據庫操作語句SQL,而MyBitas則是用的原始的數據庫操作語句。基于此原因,Hibernate優化起來相對MyBitas較難。

MyBitas入門較快,而Hibernate掌握起來相對較難。

針對高級查詢,Mybatis需要手動編寫SQL語句,以及ResultMap。而Hibernate有良好的映射機制,開發者無需關心SQL的生成與結果映射,可以更專注于業務流程。

Hibernate數據庫移植性很好,MyBatis的數據庫移植性不好,不同的數據庫需要寫不同SQL。

3.3 總結:

SSH很笨重,現在除了一些老系統,很少有人使用SSH了,SSM則是現在的主流,當前還有SpringBoot,SpringCloud微服務這些。

參考:

https://www.cnblogs.com/ysoce...

https://blog.csdn.net/horero/...

SpringMVC映射的前端后臺數據交互總結:https://blog.csdn.net/xiansky...

基于注解的入門實例:https://www.cnblogs.com/ysoce...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76978.html

相關文章

  • SpringMVC入門筆記

    摘要:簡介注解用于修飾的方法,根據的的內容,通過適當的轉換為客戶端需要格式的數據并且寫入到的數據區,從而不通過視圖解析器直接將數據響應給客戶端。并且這些解析器都實現了接口,在接口中有四個最為主要的接口方法。 SpringMVC 細節方面的東西很多,所以在這里做一篇簡單的 SpringMVC 的筆記記錄,方便以后查看。 Spring MVC是當前最優秀的MVC框架,自從Spring 2.5版本...

    gekylin 評論0 收藏0
  • Java學習路線總結,搬磚工逆襲Java架構師(全網最強)

    摘要:哪吒社區技能樹打卡打卡貼函數式接口簡介領域優質創作者哪吒公眾號作者架構師奮斗者掃描主頁左側二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領導們的談話,現在公司的現狀是碼農太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區Java技能樹打卡?【打卡貼 day2...

    Scorpion 評論0 收藏0
  • SpringMVC入門就這么簡單

    摘要:也就是說映射器就是用于處理什么樣的請求提交給處理。這和是一樣的提交參數的用戶名編號提交配置處理請求注冊映射器包框架接收參數設置無參構造器,里邊調用方法,傳入要封裝的對象這里的對象就表示已經封裝好的了對象了。 什么是SpringMVC? SpringMVC是Spring家族的一員,Spring是將現在開發中流行的組件進行組合而成的一個框架!它用在基于MVC的表現層開發,類似于struts...

    SKYZACK 評論0 收藏0
  • 慕課網_《SpringMVC數據綁定入門》學習總結

    摘要:數據綁定入門學習總結時間年月日星期日說明本文部分內容均來自慕課網。慕課網教學示例源碼個人學習源碼第一章課程介紹數據綁定入門概述數據綁定概念來自百度百科簡單綁定是將一個用戶界面元素控件的屬性綁定到一個類型對象實例上的某個屬性的方法。 《SpringMVC數據綁定入門》學習總結 時間:2017年2月19日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.co...

    Karrdy 評論0 收藏0
  • angularjs+springMvc學習筆記

    摘要:回調說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數和,下面的方法請求成功執行,失敗執行異步異步的原理我看了網上的一些博客和例子,大都以定時任務為例子說明,但具體的原理我還是不太 回調 說白了,就是把函數當參數傳給另一根函數,在另一個函數執行時調用此函數例如,在下面這段代碼中,上面定義了兩個函數success和error,下...

    dreamGong 評論0 收藏0

發表評論

0條評論

zhaochunqi

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<