Spring MVC -Hello World(環(huán)境搭建)

轉載請注明出處:
牽手生活--頭條新聞:筆記是整理思路方式钠龙,分享是一個美德炬藤,牽手是我的生活方式
牽手生活--簡書:筆記是整理思路方式,分享是一個美德碴里,牽手是我的生活方式


什么是SpringMVC

SpringMvc是spring的一個模塊沈矿,基于MVC的一個框架,無需中找工作最主要的還是要買尺度

標準MVC模型概述

MVC模型:是一種架構型的模式咬腋,本身不引入新功能羹膳,只是幫助我們將開發(fā)的結構組織的更加合理,使展示與模型分離根竿、流程控制邏輯陵像、業(yè)務邏輯調用與展示邏輯分離。如下圖(圖2-2)所示


標準MVC模型
MVC模式2

MVC(Model-View-Controller)的概念

首先讓我們了解下MVC(Model-View-Controller)的概念:

  • Model(模型):數(shù)據(jù)模型寇壳,提供要展示的數(shù)據(jù)醒颖,因此包含數(shù)據(jù)和行為,可以認為是領域模型(domain)或JavaBean組件(包含數(shù)據(jù)和行為)壳炎,不過現(xiàn)在一般都分離開來:Value Object(數(shù)據(jù)) 和 服務層(行為)泞歉。也就是模型提供了模型數(shù)據(jù)查詢和模型數(shù)據(jù)的狀態(tài)更新等功能,包括數(shù)據(jù)和業(yè)務冕广。

  • View(視圖):負責進行模型的展示疏日,一般就是我們見到的用戶界面,客戶想看到的東西撒汉。

  • Controller(控制器):接收用戶請求,委托給模型進行處理(狀態(tài)改變)涕滋,處理完畢后把返回的模型數(shù)據(jù)返回給視圖睬辐,由視圖負責展示。 也就是說控制器做了個調度員的工作。

從圖-標準MVC模型 我們還看到溯饵,在標準的MVC中模型能主動推數(shù)據(jù)給視圖進行更新(觀察者設計模式侵俗,在模型上注冊視圖,當模型更新時自動更新視圖)丰刊,但在Web開發(fā)中模型是無法主動推給視圖(無法主動更新用戶界面)隘谣,因為在Web開發(fā)是請求-響應模型。

Spring MVC基本概念

Spring MVC基本概念
  • request瀏覽器端過來啄巧,首先到達DispatcherServlet寻歧,所有他都攔截到,然后通過HandlerMapping 去找Controller秩仆。通過annatation告訴handlerMapping要找的controller和Handlerinterceptor码泛,把他們形成了一個HandlerExcutionChain執(zhí)行鏈條,作為一個handler 或HandlerAdapter返回給了我們的DispatchServlet澄耍,在去調用一般化的處理器
  • Handler或HandlerAdapter生成我們的模型在返還給DispatcherServlet ,他再調用視圖解析器噪珊,返回視圖對象view
    -然后我們的modeland view 傳遞數(shù)據(jù)給view完成我們的試圖呈現(xiàn);

特別說明:黑色不管齐莲,斜體可寫可不寫痢站,粗體是自己需要寫的,剩下藍色配置就行选酗。


idea中創(chuàng)建工程

新建Maven工程

填寫GroupId和ArtifactId還有Version阵难,這三個屬性目的是標識你的項目的唯一性


設置自己的GroupId等信息
Maven 環(huán)境配置

項目創(chuàng)建完成界面 --會去下載一下依賴庫
等待時間:根據(jù)你的網(wǎng)速及Maven中央倉庫而定


項目創(chuàng)建finish
  • src/main下創(chuàng)建了一個recources文件夾,該文件夾一般用來存放一些資源文件
  • webapp文件夾星掰,用來存放web配置文件以及jsp頁面等
  • 選擇右邊紅框的Enable-Auto-Import多望,可以在每次修改pom.xml后,自動的下載并導入jar包


    初始目錄結構介紹

項目剛創(chuàng)建后的pom.xml配置信息

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.younghare</groupId>
  <artifactId>SpringMVCDemo</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>SpringMVCDemo Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>SpringMVCDemo</finalName>
  </build>
</project>

可以看到這個文件包含了我們之前定義的本項目的groupId氢烘、artifactId等信息怀偷,這些信息是該項目的標識,我們不要去改動它們播玖。
重點看<dependencies>依賴標簽椎工,也就是說把對每個包的需求都稱為一個依賴<depedency>,定義在<dependencies>中蜀踏。
在每個<depedency>中维蒙,你需要提供的是所需jar包的groupId、artifactId果覆、version這三個必要信息颅痊。可到mvnrepository去查詢局待,比如 spring-core的4.2.5.RELEASE版本
查詢結果是
http://mvnrepository.com/artifact/org.springframework/spring-core/4.2.5.RELEASE

spring-core的4.2.5.RELEASE版本配置信息
  • 建議把注釋部分也copy進來
  • 由于前面新建工程后選擇了Enable Auto Import功能斑响,Maven就會開始自動下載jar包到本地倉庫菱属,然后關聯(lián)到你的項目中,
有的版本好像不能下,比如4.3.14
spring-core的4.2.5.RELEASE依賴包后的情況

查看工程結構

我們按 ctrl+alt+shift+s舰罚,或者File->Project Structure查看一下項目結構纽门,看看有什么問題:


工程結構信息

工程配置

先做一些配置,選擇Modules营罢,在SpringMVCDemo的src\main文件夾中新建一個文件夾赏陵,取名為java然后Mark as Sources(java :源碼目錄;resources:資源目錄饲漾;test:單元測試代碼目錄蝙搔;)


創(chuàng)建java目錄
設置java目錄為Sources

選中java文件夾,點擊上面的Make as:Sources能颁,該文件夾就會變成藍色杂瘸,用以保存java代碼
同樣創(chuàng)建一個test目錄并 Make as :Tests,用于存放測試文件的目錄


image.png

在pom.xml中配置mvc應用需要依賴的包

pom.xml中定義一些工程版本變量 ,方便之后修改版本

pom.xml中定義一些工程版本變量
  <properties>
    <commons-lang.version>2.6</commons-lang.version>
    <slf4j.version>1.7.6</slf4j.version>
    <spring.version>4.2.5.RELEASE</spring.version>
    <jackson.version>2.7.4</jackson.version>
  </properties>

在pom.xml中添加依賴管理dependencyManagement

image.png
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-framework-bom</artifactId>
        <version>${spring.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>


在pom.xml中的<dependencies>部分添加所以依賴軟件包

  • org.springframework :spring框架包
  • commons-lang :apche 的Commons下的Lang伙菊,提供各種字符串處理败玉、日期處理等工具類
  • org.slf4j :slf4j是日志的接口
  • javax.servlet :java web的servlet
  • commons-fileupload :文件上傳下載
  • com.fasterxml.jackson.core:ackson-core提供的JsonParser和JsonGenerator來實現(xiàn)基本的序列化和反序列化

現(xiàn)在看看pom.xml的完整代碼

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.younghare</groupId>
  <artifactId>SpringMVCDemo</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>SpringMVCDemo Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <!--軟件報版本配置信息-->
  <properties>
    <commons-lang.version>2.6</commons-lang.version>
    <slf4j.version>1.7.6</slf4j.version>
    <spring.version>4.2.5.RELEASE</spring.version>
    <jackson.version>2.7.4</jackson.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-framework-bom</artifactId>
        <version>${spring.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <!--所以依賴包-->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>



      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
      </dependency>

      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>


      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
      </dependency>

      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.1</version>
      </dependency>


    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
    </dependency>



    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>${jackson.version}</version>
    </dependency>


  </dependencies>



  
  <build>
    <finalName>SpringMVCDemo</finalName>
  </build>
</project>

到這來作為我們一般的mvc應用這些依賴已經做夠了,如果后面還需要添加依賴镜硕,可以在這邊繼續(xù)添加运翼。


IDEA中,Maven項目POM文件中的依賴未報錯(出現(xiàn)紅色波浪線)兴枯,但Maven Projects中的模塊的Dependencies中的依賴卻報錯

下面開始創(chuàng)建web應用

創(chuàng)建對應的目錄結構

創(chuàng)建幾個要用的包與目錄血淌,mvc-dispatcher-servlet.xml先不管

要用的包與目錄

web.xml配置--添加SpringMVC的支持

image.png
<?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">
  <display-name>SpringMVC實戰(zhàn)</display-name>  
  
    <!-- Spring應用上下文, 理解層次化的ApplicationContext -->
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/configs/spring/applicationContext*.xml</param-value>
  </context-param>
  
    <!-- DispatcherServlet, Spring MVC的核心 -->
  <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- DispatcherServlet對應的上下文配置财剖, 默認為/WEB-INF/$servlet-name$-servlet.xml
         -->
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <!-- mvc-dispatcher攔截所有的請求  不同url來源的劃分依據(jù)-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

配置mvc-dispatcher-servlet.xml(名稱可變悠夯,主要是web.xml保持一致)

創(chuàng)建spring的配置文件mvc-dispatcher-servlet.xml
創(chuàng)建spring的配置文件mvc-dispatcher-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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>
image.png

修改mvc-dispatcher-servlet.xml(提示找不到時,可以用IDEA自動導入)

<?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/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">

    <!-- 本配置文件是工名為mvc-dispatcher的DispatcherServlet使用躺坟, 提供其相關的Spring MVC配置 -->


    <!-- 啟用Spring基于annotation的DI, 使用戶可以在Spring MVC中使用Spring的強大功能沦补。 激活 @Required
    @Autowired,JSR 250's @PostConstruct, @PreDestroy and @Resource 等標注 -->
    <context:annotation-config />

    <!-- DispatcherServlet上下文, 只管理@Controller類型的bean咪橙, 忽略其他型的bean, 如@Service -->
    <context:component-scan base-package="com.younghare.mvcdemo">
        <context:include-filter type="annotation"
                                expression="org.springframework.stereotype.Controller" />
    </context:component-scan>

    <!-- HandlerMapping, 無需配置夕膀, Spring MVC可以默認啟動。 DefaultAnnotationHandlerMapping
    annotation-driven HandlerMapping -->

    <!-- 擴充了注解驅動美侦,可以將請求參數(shù)綁定到控制器參數(shù) -->
    <mvc:annotation-driven />



    <!--ViewResolver告訴DispatcherServlet將用哪個ViewResolver獲取View
        這里使用JstlView
        前綴是/WEB-INF/jsps/目錄
        后綴是.jsp
    -->
    <bean
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
                  value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsps/" />
        <property name="suffix" value=".jsp" />
    </bean>

</beans>

開始寫點代碼HelloMvcController.java

package com.younghare.mvcdemo.controller;

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

//告訴DispatcherServlet相關的容器产舞, 這是一個Controller, 管理好這個bean哦
@Controller
//類級別的RequestMapping菠剩,告訴DispatcherServlet由這個類負責處理以跟URL易猫。
//HandlerMapping依靠這個標簽來工作
@RequestMapping("/hello")
public class HelloMvcController {

    //方法級別的RequestMapping, 限制并縮小了URL路徑匹配具壮,同類級別的標簽協(xié)同工作擦囊,最終確定攔截到的URL由那個方法處理
    //host:8080/hello/mvc
    @RequestMapping("/mvc")
    public String helloMvc() {

        //視圖渲染违霞,/WEB-INF/jsps/home.jsp
        return "home";
    }

}

開始home.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hello Spring MVC 牽手生活</title>
</head>
<body>
Hello Spring MVC!
你好 Spring MVC 環(huán)境搭建基礎

</body>
</html>

部署到本地tomcat服務器

如果不同可參考:
IntelliJ IDEA配置Tomcat(完整版教程)

image.png

如果需要修改web 的虛擬訪問目錄


修改web 的虛擬訪問目錄

運行SpringMVCDemo項目

image.png

來瀏覽器中訪問

http://localhost:8080/hello/mvc

出現(xiàn)下面正確的結果


image.png

出現(xiàn)問題參考:
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config解決方案

log4j:WARN Please initialize the log4j system properly解決辦法

設置debug調試發(fā)現(xiàn)大連使用反射技術

調試查看信息

springMVC常見知識問答

  • 1 )springmvc的入口是一個servlet即前端控制器嘴办,而struts2入口是一個filter過慮器瞬场。
  • 2 )springmvc是基于方法開發(fā)(一個url對應一個方法),請求參數(shù)傳遞到方法的形參涧郊,可以設計為單例或多例(建議單例)贯被,struts2是基于類開發(fā),傳遞參數(shù)是通過類的屬性妆艘,只能設計為多例彤灶。
  • 3)Struts采用值棧存儲請求和響應的數(shù)據(jù),通過OGNL存取數(shù)據(jù)批旺,springmvc通過參數(shù)解析器是將request請求內容解析幌陕,并給方法形參賦值,將數(shù)據(jù)和視圖封裝成ModelAndView對象汽煮,最后又將ModelAndView中的模型數(shù)據(jù)通過reques域傳輸?shù)巾撁娌āsp視圖解析器默認使用jstl。
  • 4)pingMvc中的控制器的注解暇赤,一般用@Conntroller注解,表示是表現(xiàn)層,不能用用別的注解代替心例。
  • 5)@RequestMapping注解是一個用來處理請求地址映射的注解,可用于類或方法上鞋囊。用于類上止后,表示類中的所有響應請求的方法都是以該地址作為父路徑。
  • 6)某個請求映射到特定的方法上面:直接在方法上面加上注解@RequestMapping,并且在這個注解里面寫上要攔截的路徑
  • 7)如果在攔截請求中,想攔截get方式提交的方法溜腐,可以在@RequestMapping注解里面加上method=RequestMethod.GET
    -8 )怎么樣在方法里面得到Request,或者Session:直接在方法的形參中聲明request,SpringMvc就自動把request對象傳入
  • 9)想在攔截的方法里面得到從前臺傳入的參數(shù):直接在形參里面聲明這個參數(shù)就可以,但必須名字和傳過來的參數(shù)一樣译株,如果是對象直接在方法中聲明這個對象,SpringMvc就自動會把屬性賦值到這個對象里面。
  • 10)SpringMvc中函數(shù)的返回值是什么挺益?返回值可以有很多類型,有String,ModelAndView,當一般用String比較好歉糜。
  • 11)SpringMVC怎么樣設定重定向和轉發(fā)的?在返回值前面加"forward:"就可以讓結果轉發(fā),譬如"forward:user.do?name=method4"在返回值前面加"redirect:"就可以讓返回值重定向,譬如"redirect:http://www.baidu.com"
  • 12)SpringMvc用什么對象從后臺向前臺傳遞數(shù)據(jù)的矩肩?通過ModelMap對象,可以在這個對象里面用put方法,把對象加到里面,前臺就可以通過el表達式拿到现恼。
  • 13)SpringMvc中有個類把視圖和數(shù)據(jù)都合并的一起的,叫什么?叫ModelAndView
  • 14)怎么樣把ModelMap里面的數(shù)據(jù)放入Session里面黍檩?可以在類上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key
  • 15)SpringMvc怎么和AJAX相互調用的叉袍?通過Jackson框架就可以把Java里面的對象直接轉化成Js可以識別的Json對象。在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上@ResponseBody注解

另開一文刽酱,Spring MVC 搭建第一個例子起步(繼續(xù)SpringMVC hello world)

轉載請注明出處:牽手生活--頭條新聞:筆記是整理思路方式喳逛,分享是一個美德,牽手是我的生活方式

參考文章:Gaussic(一個致力于AI研究卻不得不兼顧項目的研究生

超詳細 Spring @RequestMapping 注解使用技巧

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末棵里,一起剝皮案震驚了整個濱河市润文,隨后出現(xiàn)的幾起案子姐呐,更是在濱河造成了極大的恐慌,老刑警劉巖典蝌,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曙砂,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門幕垦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來习蓬,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵涵妥,是天一觀的道長。 經常有香客問我坡锡,道長蓬网,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任娜氏,我火速辦了婚禮拳缠,結果婚禮上,老公的妹妹穿的比我還像新娘贸弥。我一直安慰自己窟坐,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布绵疲。 她就那樣靜靜地躺著哲鸳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盔憨。 梳的紋絲不亂的頭發(fā)上徙菠,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音郁岩,去河邊找鬼婿奔。 笑死,一個胖子當著我的面吹牛问慎,可吹牛的內容都是我干的萍摊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼如叼,長吁一口氣:“原來是場噩夢啊……” “哼冰木!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤踊沸,失蹤者是張志新(化名)和其女友劉穎歇终,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逼龟,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡评凝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了审轮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肥哎。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疾渣,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情崖飘,我是刑警寧澤榴捡,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站朱浴,受9級特大地震影響吊圾,放射性物質發(fā)生泄漏。R本人自食惡果不足惜翰蠢,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一项乒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梁沧,春花似錦檀何、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恋拍,卻和暖如春垛孔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背施敢。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工周荐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人僵娃。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓概作,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悯许。 傳聞我的和親對象是個殘疾皇子仆嗦,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)先壕,斷路器瘩扼,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評論 6 342
  • Spring MVC一谆甜、什么是 Spring MVCSpring MVC 屬于 SpringFrameWork 的...
    任任任任師艷閱讀 3,374評論 0 32
  • 學習資料源:慕課網(wǎng) - Spring MVC起步 內容概要 一、前端控制器(Front Controller) 二...
    拾壹北閱讀 1,958評論 0 22
  • (文/蘿卜君) 職場上拼搏的人,都希望改變自己栽燕,讓自己變得更強更又能力罕袋,并一直努力著。但多數(shù)情況下碍岔,往往事與愿違浴讯,...
    蘿卜君2017閱讀 389評論 0 1