成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Servlet與JSP間的傳值問題

開發(fā) 后端
Servlet與JSP 之間的傳值有兩種情況:JSP -> Servlet, Servlet -> JSP。通過對象 request和 session (不考慮 application)完成傳值。

Servlet與JSP 之間的傳值有兩種情況:JSP -> Servlet, Servlet -> JSP。

通過對象 request和 session (不考慮 application)完成傳值。

一、JSP -> servlet

JSP頁面有3種方法向 servlet傳值: form表單、URL

  1. <!-- JSP page -->  
  2. ...  
  3. <%......  
  4. session.setAttribute("testSession","Hello session");  
  5. reqeust.setAttribute("testRequest","Hello request");  
  6. %>  
  7. <a href="JspServlet?action=toServlet">點擊</a>  
  8. <form action="JspServlet?action=toServlet" method="post" name="form">  
  9. <input name="username" type="test" />  
  10. <input type="submit" value="submit">  
  11. </form>  
  12. ... 

1、對于該JSP頁面 form表單的內(nèi)容,如 <input>標(biāo)簽,在 servlet可用 request.getParameter("username");獲取。

2、URL:比如這里的 <a>標(biāo)簽的 href屬性與 <form>標(biāo)簽的 action屬性的值 "JspServlet?action=toServlet",在 servlet同樣用 request.getParameter("action")獲取;所要注意的是這里的 url 要和 servlet在web.xml里的 <url-pattern>標(biāo)簽的路徑所對應(yīng)。這部分后面會提到。

3、java片段代碼,servlet只能接到 session.setAttribute("testSession","Hello session")的內(nèi)容,而接不到 request的內(nèi)容。在 servlet里用 request.getSession().getAttribute("testSession")獲取 session內(nèi)容。

二、Servlet

1、關(guān)于 servlet,首先要提到它在 web.xml里的注冊內(nèi)容,如

  1. <servlet-name>JspServlet1</servlet-name>  
  2. <servlet-class>com.demo.JspServletDemo</servlet-class>  
  3. </servlet>  
  4. <servlet-mapping>  
  5. <servlet-name>JspServlet1</servlet-name>  
  6. <url-pattern>/JspServlet</url-pattern>  
  7. </servlet-mapping>  
  8. <servlet-name>JspServlet2</servlet-name>  
  9. <servlet-class>com.demo.JspServletDemo</servlet-class>  
  10. </servlet>  
  11. <servlet-mapping>  
  12. <servlet-name>JspServlet2</servlet-name>  
  13. <url-pattern>/admin/JspServlet</url-pattern>  
  14. </servlet-mapping> 

假如 project name 是 jsp2servlet,則該 project根目錄的 Context是 /jsp2servlet,在地址欄里顯示是 http://localhost:8080/jsp2servlet/

在 project 根目錄下有 admin目錄,對應(yīng)的 Context是/admin/jsp2servlet,在地址欄里顯示是 http://localhost:8080/jsp2servlet/admin

在這兩個目錄下的 jsp 都想轉(zhuǎn)到 com.demo.JspServletDemo類做處理,這時的 url需要在 web.xml注冊兩次。

1)在 http://localhost:8080/jsp2servlet/ 目錄下的 jsp 頁面 JspServlet1,url應(yīng)寫為 "JspServlet"

2)在 http://localhost:8080/jsp2servlet/admin/ 目錄下的 jsp 頁面訪問 JspServlet2,url應(yīng)寫為 "admin/JspServlet"

2、在 servlet直接用 request對象,得到發(fā)送來的請求內(nèi)容;用 request.getSession(),得到 session對象,從而得到會話內(nèi)容。
這里的 request.getSession()的參數(shù)為 boolean 類型,該方法意思可理解為:

session可以認(rèn)為是每一個IE進程對應(yīng)一個會話(新開一個IE進程就可以對應(yīng)兩個會話的),getSession都是返回當(dāng)前用戶的會話對象,參數(shù)的區(qū)別在于:

參數(shù)為true (默認(rèn)),則如果“當(dāng)前用戶的會話對象”為空(***次訪問時)則創(chuàng)建一個新的會話對象返回;

參數(shù)為false,則如果“當(dāng)前用戶的會話對象”為空,則返回 null (即不自動創(chuàng)建會話對象)。

利用這個方法可以判斷 session是否過期,如下:

  1. if(request.getSession(false)==null)  
  2. System.out.println("Session has been invalidated!");  
  3. else 
  4. System.out.println("Session is active!"); 

三、Servlet -> JSP

從 servlet轉(zhuǎn)到 jsp不外乎兩種方法,重定向 和 url轉(zhuǎn)發(fā)

1、重定向 ( Redirect):是路徑的跳轉(zhuǎn),內(nèi)容和 url都改變。不允許帶 request參數(shù)( session參數(shù)可以),即不允許在 servlet里給 request對象使用setAttribute方法傳給下一頁面。在 servlet里使用 response.sendRedirect(url) 方法。注意這里的 url前不帶斜線 /,如 response.sendRedirect(”test.jsp“)

2、url轉(zhuǎn)發(fā) ( Forward):是頁面的跳轉(zhuǎn),頁面內(nèi)容發(fā)生改變,url不變。可以帶 request和 session參數(shù)。在 servlet里使用 getServletConfig().getServletContext().getRequestDispatcher(url).forward(request, response)。而這里的 url前需要帶斜線 /,如getServletConfig().getServletContext().getRequestDispatcher(”/test.jsp“).forward(request, response)

  1. String fr="good well";  
  2. request.setAttribute("test", fr);  
  3. RequestDispatcher de=request.getRequestDispatcher("/test.jsp");  
  4. de.forward(request, response); 

 

原文鏈接:http://blog.csdn.net/chang_xing/article/details/7701317

責(zé)任編輯:林師授 來源: chang_xing的博客
相關(guān)推薦

2009-07-06 09:49:26

Servlet JSP

2011-04-11 10:06:16

傳值傳引用

2009-07-07 13:29:33

Servlet和JSP

2009-07-06 10:00:31

JSP頁面?zhèn)髦?/a>

2009-07-07 13:42:57

Servlet JSP

2009-07-03 14:02:51

2009-07-03 12:48:24

Java Servle

2009-07-03 13:54:38

Java Servle

2009-07-03 13:24:56

JSP表單

2009-07-01 17:34:03

Servlet和JSP

2010-05-11 16:55:12

Windows Pho

2013-06-03 10:22:41

iOS開發(fā)移動開發(fā)頁面間傳值

2009-07-06 15:41:14

JSP應(yīng)用

2009-07-06 15:47:11

Servlet API

2009-07-06 15:34:56

JSP和Servlet

2009-09-07 03:44:50

C#窗體間傳值

2009-07-09 09:54:07

Servlet和CGI

2009-08-10 09:19:28

Servlet JSP

2009-07-08 09:22:03

Servlet和JSP

2013-07-05 15:05:42

Windows PhoWP頁面間傳值方法
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: www亚洲精品| 精品久久久久久亚洲精品 | 中文字幕一区二区三区不卡 | 欧美成人激情视频 | 激情影院久久 | 精精国产xxxx视频在线野外 | 精品久久99 | 91精品久久久久久久久久 | 亚洲国产一区二区三区在线观看 | 色视频在线播放 | 91久久精品 | 精品国产乱码久久久久久丨区2区 | 毛片入口 | 日韩欧美国产精品一区 | 日本天天操 | 成人一区二区视频 | 中国一级大毛片 | 欧美日韩国产精品 | 国产精品一区二区久久久久 | 欧美亚洲视频在线观看 | 综合激情久久 | 国产精品一区在线观看你懂的 | 99免费看 | 久久久精品一区二区三区 | 欧美又大粗又爽又黄大片视频 | 久久精品国产久精国产 | 成人三级在线观看 | 欧美精品一区二区免费视频 | 久久久久久91香蕉国产 | 99视频| 日韩成人久久 | 精品国产一区二区在线 | 九九国产 | 午夜欧美一区二区三区在线播放 | 成人免费一区二区三区视频网站 | 日韩欧美国产成人一区二区 | 请别相信他免费喜剧电影在线观看 | 久久久久亚洲 | 欧美一级艳情片免费观看 | 国产在线观 | 欧美三级视频在线观看 |