2022年2月9日 星期三

Spring Boot web 專案 Controller Annotation

本文續上一篇



有使用到
@Controller 、@RequestMapping、@PathVariable 在本文說明一下。

Annotation:「@」來定義


一、Controller 跟 RequestMapping  Annotation

@Controller 宣告該java類是Controller類。
有沒宣告spring 容器會不知道專案有該Controller類。
(如果你是賣場員工,有一個箱子沒有標識是什麼物品字樣,你會知道這箱是可樂還是書嗎?)

Controller 跟 RequestMapping 配合

@RequestMapping 宣告指定這個Controller的相對URI
(RequestMapping ,就像賣場入口指引標識,指引想找可樂往哪裡走可以到可樂區)

圖1
當瀏覽器要求"/cola"時,就呼叫 gotocola()
最後return view,而view就是頁面jsp
return "colaArea"; 
找colaArea.jsp



瀏覽器輸入 http://localhost:8080/cola

圖2



二、PathVariable Annotation

PathVariable 宣告指定方法參數對應 mapping URI
說明如下
當賣場很大,規劃一小區做書區,書區目前分三大
 Children's book 童書 · Reference book 工具書、參考書 · Textbook 教科書


1、規劃一小區做書區。
BookController 宣告為books
@Controller
@RequestMapping("/books")
public class BookController {
2、書區目前分三大。
childrensbook.jsp
referencebook.jsp
textbook.jsp

3、指引路線
使用 PathVariable  宣告該參數對應取值
@RequestMapping("/{jspPageName}")
    public String jspbooksPage(@PathVariable String jspPageName){

{jspPageName} 的值會對應 String jspPageName 給值。

當瀏覽器要求"/books/childrensbook"
第一區是去books,進入books下的childrensbook
圖3



圖4 測試 http://localhost:8080/books/childrensbook




圖5 測試 http://localhost:8080/books/referencebook


圖6 測試 http://localhost:8080/books/textbook



















用LINE傳送分享








其它文章

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...