国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

從零開始spring-mvc到hello-world

2019-11-08 02:37:41
字體:
來源:轉載
供稿:網友

jdk: 1.8 eclipse java ee: 4.6 tomcat: 8.5 sPRing 4.3.6

想用spring-mvc開發web應用有兩種方式: 1. new project->Dynamic Web Project 2. new project->Maven Project

兩種有什么區別呢? 主要就再于處理依賴方面,一種是手動自己搞定,一種是自動搞定而且還可以復用,網上的多數文章都是第一種。

第一種 創建工程后 要自己去 spring.io 官網 去下載 spring-framework 這個zip 包,解壓后(自己看文檔或者看別人的文章或者自己瞎琢磨),在一堆 jar 包中找到那些用于 spring-mvc web 開發的 jar 包 ,復制-〉粘貼到 項目目錄

WEB-INF/lib

這個目錄下。spring-mvc 這個東西是沒有單獨的可下載的 都在 spring-framework 這個主包中。相省點事的可以直接下載 spring-boot 這個是個獨立的 project 可單獨下載這個是專門用于 web 開發的。是不是挺麻煩,就是嘛!

第二種 用maven 來自動管理依賴

which mvn

運行一下這個命令 沒有自己去安裝

brew install maven 其它的系統自己的腦補吧

File->Maven Project

開發webapp就不要去勾選上面的 create a simple project 因為勾選的話創造的就是普通java類項目會缺少用于webapp開發的一些比如 特定的文件夾 webapp WEB-INF web.xml 等等 當然如果你要說你要自已動手豐衣足食也可以,不過 一些內容 一些設置你也要自己動手搞了,搞不明白的還要去網上搜文章,不累嗎?

點擊 next

這里寫圖片描述 在這個界面選擇 結尾是 -webapp 這個選項,就是創建的 web項目。

點擊 next

這里寫圖片描述

在這個界面有三個選項需要添寫 Group id(包名): com.example.demo Artifact id(項目名):app02 Version 默認就好 Package: 會隨著 Group id 變化 當然也可以自己設定

設定好就可以 finish

這里寫圖片描述 生成的目錄結構

這個紅叉 不要緊,為工程 添加 tomcat類庫 即可 在項目右鍵

這里寫圖片描述

library 這個選項卡 點擊 add library 選擇 Server runtime

這里寫圖片描述

選擇你本機安裝的tomcat 博主安裝的是最新版 8.5 ok

這里寫圖片描述

此時的目錄結構 紅叉已消失

這里寫圖片描述

現在需要 maven 來幫助搞定spring-mvc 框架依賴 修改 pom.xml

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

如果你官網狂了半天,找了半天肯定是找不到 因為 spring-mvc 不是獨立 project 存在的。官網 spring-framework 工程給出的 maven 依賴包的設置是 ........ <artifactId>spring-context</artifactId> ....... spring-context.jar   這個jar文件為Spring核心提供了大量擴展。可以找到使用Spring applicationContext特性時所需的全部類,JDNI所需的全部類,UI方面的用來與模板(Templating)引擎如Velocity、FreeMarker、JasperReports集成的類,以及校驗Validation方面的相關類。    spring-context.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar

官方給的這個maven依賴包設置主要是針對 spring framework 基本核心 jar 包。

嗯 所以無所謂 spring-mvc 是不是獨產工程 ,spring 整個框架都是模塊化的,spring-mvc也是一個獨立的模塊,maven會自動幫你處理好所需其它它依賴的模塊。

接下來需要配置 部署描述符(web.xml)

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>app02</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/config/app02-servlet.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app02</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping></web-app>

這里此時主要是配置 org.springframework.web.servlet.DispatcherServlet servlet調度器,其實就相當動態語言框架單入口一樣,根據 url 中的地址去調用并實例化相應的類,spring中的 DispatcherServlet 開箱即用相當方便

<servlet-name>app02</servlet-name> servlet-name 隨便命名 <load-on-startup>1</load-on-startup> 值為 1 確定在加載時 初始化 org.springframework.web.servlet.DispatcherServlet servlet調度器 當初始時會調用 DispatcherServlet init方法 然后去默認的目錄 /WEB-INF 中查找一個 <servlet-name> 命名的xml文件 這里是 app02-servlet.xml 這個形式的文件名是 約定的 xx-servlet.xml 。 如果配置了 <init-param> 這個參數 DispatcherServlet 調度器會去 <param-value> 配置的路徑中查找。

<servlet-mapping> 這里配置是把url地址路徑 映射到 <servlet-name>app02</servlet-name> 只對沒有反綴名的url路徑 http://xx/xx/xx/xx/ 起作用, 如果是有后綴名的url路徑 http://xx/xx/xx/xx.CSS|js|png 等等將不會起作用 其實本就不應該起作用,不然你怎么看 css js png 這些文件。

配置 app02-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" 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"> <context:component-scan base-package="org.example.controller"></context:component-scan> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean></beans>

這個配置文件是需要被 DispatcherServlet 讀取調用的 并告訴 servlet調度器 如何查找你的 控制器類 beans xmlns 這些屬性是必需加的,日后會隨著需要 xmlns 也會跟著再多加幾條。 <context:component-scan base-package="org.example.controller"> 這個配置就是告訴 spring 里哪個包里找你自己編寫的控制器類,mvc嘛 model controller 肯定是分包存儲的。

bean id="viewResolver" 這個配置主要是減少編寫代碼時讀取 view 時的工作量 比如 一個view文件是 hello.jsp 在控制器類中 直接 return hello 返回view就可以了。

新建一個控制器類 HelloWorld.java

package org.example.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controller@RequestMapping("/hello")public class HelloWorld { @RequestMapping(method = RequestMethod.GET) public String say(){ System.out.println("hello world!!! running"); return "hello"; }}

這是注解方式。

展示一下完整的項目結構: 這里寫圖片描述

運行: 項目右鍵 Run As->Run on Server 選擇你已經配置好的tomcat服務器,在eclipse中就可以看到 服務器啟動狀況與程序運行情況,hello world 即刻出現在了你的眼前.

這里寫圖片描述

eclipse 自帶的瀏覽器或者你本機瀏覽器 http://localhost:8080/app02/hello/

這里寫圖片描述

注1:tomcat 下載安裝完后,eclipse 設置 server->runtime environments 配置添加你已經安裝的 tomcat ,把eclipse 與 tomcat 關聯起來,編寫與調試程序會非常方便 你的代碼文件有任何改 eclipse 都會讓 tomcat 自動 reload.

終于寫完了,這篇文章應該是網絡最直白最明了的 spring-mvc 入門文章了吧.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高尔夫| 浙江省| 凤阳县| 西峡县| 舟曲县| 台湾省| 荆州市| 隆化县| 白朗县| 迁西县| 闽清县| 叙永县| 高淳县| 乾安县| 安阳市| 楚雄市| 察隅县| 双柏县| 荆州市| 元江| 秭归县| 敦煌市| 和平县| 北京市| 普兰店市| 泾阳县| 渝北区| 阳新县| 古蔺县| 五家渠市| 郧西县| 什邡市| 浏阳市| 文昌市| 南溪县| 永州市| 玉田县| 林西县| 来安县| 镇坪县| 库伦旗|