SpringMVC注解HelloWorld

今天整理一下SpringMVC注解

歡迎拍磚

@RequestMapping

RequestMapping是一個用來處理請求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。

RequestMapping注解有六個屬性,下面我們把她分成三類進行說明。

1、 value, method;

value:???? 指定請求的實際地址,指定的地址可以是URI Template 模式(后面將會說明);

method:? 指定請求的method類型, GET、POST、PUT、DELETE等;


2、 consumes,produces;

consumes: 指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;

produces:??? 指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回;


3、 params,headers;

params: 指定request中必須包含某些參數值是,才讓該方法處理。

headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請求。

?

寫的不錯就轉過來了原址:http://blog.csdn.net/kobejayandy/article/details/12690041

Controller

在SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發的請求,它把用戶請求的數據經過業務處理層處理之后封裝成一個Model ,然后再把該Model 返回給對應的View 進行展示。在SpringMVC 中提供了一個非常簡便的定義Controller 的方法,你無需繼承特定的類或實現特定的接口,只需使用@Controller 標記一個類是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定義URL 請求和Controller 方法之間的映射,這樣的Controller 就能被外界訪問到。此外Controller 不會直接依賴于HttpServletRequest 和HttpServletResponse 等HttpServlet 對象,它們可以通過Controller 的方法參數靈活的獲取到。

@Controller 用于標記在一個類上,使用它標記的類就是一個SpringMVC Controller 對象。分發處理器將會掃描使用了該注解的類的方法,并檢測該方法是否使用了@RequestMapping 注解。@Controller 只是定義了一個控制器類,而使用@RequestMapping 注解的方法才是真正處理請求的處理器,這個接下來就會講到。 ?? 單單使用@Controller 標記在一個類上還不能真正意義上的說它就是SpringMVC 的一個控制器類,因為這個時候Spring 還不認識它。那么要如何做Spring 才能認識它呢?這個時候就需要我們把這個控制器類交給Spring 來管理

代碼

引包,建包不多講

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>SpringMVC</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置DispatcherServlet的一個初始化參數  配置springMVC配置文件的位置和名稱--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>/</url-pattern>      </servlet-mapping>
</web-app>

配置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:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 啟用spring mvc注解 --><context:annotation-config></context:annotation-config><!--  配置自動掃描包 --><context:component-scan base-package="com.hdxy.domian"></context:component-scan><!-- 配置視圖解析器:如何把handler返回為實際的物理視圖 --><!-- 對轉向頁面的路徑解析。prefix:前綴,suffix: 后綴   如:http://127.0.0.1:8080/springmvc/jsp/****.jsp--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><property name="suffix" value=".jsp"></property></bean>
</beans>

配置index.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 World</title>
</head>
<body><a href="helloworld">Hello World</a>
</form> 
</body>
</html>

其他兩個jsp頁面隨便寫一下就好

Ok重點來了

Test.java

package com.hdxy.domian;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/*** @author 流年拓荒者**/
@Controller
public class Test {final public String SUCCESS="loginSuccess";@RequestMapping("/helloworld")public String HelloWorld(){System.out.println("你好");return SUCCESS;}
}

? ? /* ? 1.使用@RequestMapping注解來映射請求的Url
?? ? *?? 2.返回值會通過視圖解析器解析為實際的物理視圖
?? ? *?? ? 對于InternalResourceViewResolver
?? ? * ?? 通過prefix+ returnVal+ 后綴這樣的方式得到的實際物理視圖,然后做轉發操作
?? ? *
?? ? *??? /WEB-INF/views/loginSuccess.jsp
?? ? * /

?

源碼:http://pan.baidu.com/s/1hr7fh44

轉載于:https://www.cnblogs.com/lnthz/p/7851893.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540143.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540143.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540143.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql問答匯集

問:A&#xff0c;B兩臺mysql實現主從復制,A提供寫&#xff0c;B提供讀,那既然B要同步A&#xff0c;當A更新數據的時候&#xff0c;B不也一樣要更新嗎&#xff1f;那B不還是沒有實現負載減輕嗎&#xff1f;還有能通過MYSQL proxy實現3臺mysq均衡l嗎&#xff1f;一臺寫&#xff0…

自制 移動端 純原生 Slider滑動插件

在Google搜關鍵字“slider”或“swiper”能找到一大堆相關插件&#xff0c;自己造輪子是為了能更好的理解其中的原理。 給這個插件取名為“veSlider”是指“very easy slider”非常簡單的一個滑動插件。 這只是個半成品&#xff0c;僅僅實現了手指滑動、自動輪播、跳轉等基本功…

ISA Server 2006 部署步驟

ISA Server 2006 部署步驟 Posted by 尹揆 在這里先把ISA2006的安裝步驟給大家貼出來,后面陸續會有一些配置及日常的應用,希望大家多多指教!呵呵.ISA功能的強大自然不用多說了,一句話只要能想到它就能做到!放入光盤出現在我們面前還是其人性化的界面點默認的下一步吧接受協議序…

ELK 分析 nginx access 日志

注意&#xff1a;修改配置后建議重新創建index 1、nginx 日志文件格式 123log_format elk "$http_clientip | $http_x_forwarded_for | $time_local | $request | $status | $body_bytes_sent | ""$request_body | $content_length | $http_referer | $http_use…

mysql將查詢數據另存

1.查詢mysql的存儲執行目錄&#xff08;secure-file-priv是指定文件夾作為導出文件存放的地方&#xff09;所以需要查詢以下&#xff0c;不然會報1290錯誤 show variables like %secure%;2.查詢并轉存 SELECT * into outfile C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\zo…

重新撿起flask(三)

記一次bug調試。 本來以為模板這一章可以很快的過掉的&#xff0c;剛剛寫完的2其實只剩下個flask-moment時間庫了&#xff0c;之前早就做過&#xff0c;記得很簡單&#xff0c;本來說只要敲一下代碼就結束&#xff0c;沒想到&#xff0c;踩坑里去了。 調試bug嗎&#xff0c;我想…

遠程服務器部署spring boot 項目(centos7為例)

1.打包項目&#xff08;可以是jar包&#xff0c;也可以是war包&#xff09;以jar包為例&#xff08;用eclipse打包&#xff09;&#xff1a;1.項目目錄右擊--debug as&#xff08;run as&#xff09;--maven build&#xff0c;然后輸入package&#xff0c;點擊debug&#xff0c…

SIN的服務器配置

統計了新加坡服務器中IBM XIV存儲掛載的主機列表。 對于vmware虛擬機來說&#xff0c;是這么組成的&#xff1a; 存儲分了多個lun&#xff0c;在os側叫做data store&#xff0c;多個datastore掛給多個物理機&#xff0c;物理機(安裝了esxi軟件)稱為ESXI主機&#xff0c;多個ESX…

sklearn的train_test_split

sklearn的train_test_split train_test_split函數用于將矩陣隨機劃分為訓練子集和測試子集&#xff0c;并返回劃分好的訓練集測試集樣本和訓練集測試集標簽。 格式&#xff1a; X_train,X_test, y_train, y_test cross_validation.train_test_split(train_data,train_target,…

textmate bundle for jquery

使用這個bundle的例子:鍵入ready然后按tab就會生成下面的代碼:$(document).ready(function() { }); 其中第二行被選中,這時在里面編寫jquery代碼即可. 如果要查看某個function的官方文檔的話可以在鍵入的function之后使用快捷鍵ctrlh 查看. 關于bundle的下載 這里是一個textmat…

sklearn機器學習實例

原創網址&#xff1a;https://blog.csdn.net/qq_27150893/article/details/80169736 sklearn是非常流行的機器學習庫&#xff0c;實現了很多的機器學習模型。官網&#xff1a;http://scikit-learn.org/stable/ 里面有全面的實例和模型參數講解&#xff0c;用到哪個模型就去官…

CSVDE批量導入域用戶

CSVDE批量導入用戶 你可以使用Csvde格式的文件在活動目錄中創建用戶帳號和其他類型的帳號。但你不能使用Csvde刪除活動目錄中的對象。 使用Csvde命令行工具創建用戶帳號&#xff0c;采用下列步驟&#xff1a; 1. 創建Csvde輸入文件。文件應包含下列信息。 屬性行&#xff1a;這…

sklearn 實例

http://scikit-learn.org/stable/auto_examples/index.html sklearn例子大全 https://deeplearning4j.org/mnist-for-beginners deeplearning官網

pip 安裝模塊時報“pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonh”

連接鏡像網站即可 以豆瓣鏡像為例&#xff1a; 解決方案&#xff1a; pip install grpcio-tools -i https://pypi.doubanio.com/simple 后面的-i https://pypi.doubanio.com/simple即是鏡像 鏡像站推薦&#xff1a; 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中國科…

【轉載】細聊冗余表數據一致性(架構師之路)

本文主要討論四個問題&#xff1a; &#xff08;1&#xff09;為什么會有冗余表的需求 &#xff08;2&#xff09;如何實現冗余表 &#xff08;3&#xff09;正反冗余表誰先執行 &#xff08;4&#xff09;冗余表如何保證數據的一致性 一、需求緣起 互聯網很多業務場景的數據量…

ethtool如何讓接口閃燈_如何解決專業家庭影院與卡拉OK的聲學問題?

現在越來越多的專業家庭影院走進人們的家中&#xff0c;享受體驗娛樂氛圍的空間。在實際的生活中&#xff0c;許多人都把這個空間設計為多功能的影音娛樂室&#xff0c;集看電影、聽音樂、卡拉OK、游戲娛樂等于一體&#xff0c;在這其中看電影與卡拉OK將這兩個功能組合在同一個…

tensorflow學習筆記(1):sess.run()

原址&#xff1a;https://www.2cto.com/kf/201610/559887.html session.run() session.run([fetch1, fetch2]) import tensorflow as tf state tf.Variable(0.0,dtypetf.float32) one tf.constant(1.0,dtypetf.float32) new_val tf.add(state, one) update tf.assign(st…

關于MapReduce單詞統計的例子:

要統計的文件的文件名為hello hello中的內容如下 hello  you hello  me 通過MapReduce程序統計出文件中的各個單詞出現了幾次.(兩個單詞之間通過tab鍵進行的分割) 1 import java.io.IOException;2 3 import mapreduce.WordCountApp.WordCountMapper.WordCountReducer;4 5 i…

朵朵糖故事機器人怎么更新_“故事販賣機”專欄創始人溫酒的新作,奇幻世界的暖心物語很治愈...

我有酒&#xff0c;你有故事嗎&#xff1f;2015年&#xff0c;知乎上一個叫“故事販賣機”的專欄橫空出世&#xff0c;憑著一個個腦洞大開的故事&#xff0c;這個溫吞而又溫暖的專欄很快得到了讀者的認可。而其中的創始人兼主打寫手溫酒&#xff0c;更是被粉絲們親切地稱呼為“…

python3 通過百度地圖API獲取城市POI點并存于CSV格式

原文信息&#xff1a; 作者&#xff1a;WenWu_Both 出處&#xff1a;http://blog.csdn.net/wenwu_both/article/ 版權&#xff1a;本文版權歸作者和CSDN博客共有 轉載&#xff1a;歡迎轉載&#xff0c;但未經作者同意&#xff0c;必須保留此段聲明&#xff1b;必須在文章中…