知识大全 Servlet与JSP间的传值问题

Posted 内容

篇首语:先学爬,然后学走。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Servlet与JSP间的传值问题相关的知识,希望对你有一定的参考价值。

Servlet与JSP间的传值问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Servlet与JSP 之间的传值有两种情况 JSP > Servlet Servlet > JSP

  通过对象 request和 session (不考虑 application)完成传值

  一 JSP > servlet

  JSP页面有 种方法向 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.  

   对于该JSP页面 form表单的内容 如 <input>标签 在 servlet可用 request getParameter("username");获取

   URL 比如这里的 <a>标签的 href属性与 <form>标签的 action属性的值 "JspServlet?action=toServlet" 在 servlet同样用 request getParameter("action")获取 所要注意的是这里的 url 要和 servlet在web xml里的 <url pattern>标签的路径所对应 这部分后面会提到

   java片段代码 servlet只能接到 session setAttribute("testSession" "Hello session")的内容 而接不到 request的内容 在 servlet里用 request getSession() getAttribute("testSession")获取 session内容

  二 Servlet

   关于 servlet 首先要提到它在 web xml里的注册内容 如

  

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

  假如 project name 是 jsp servlet 则该 project根目录的 Context是 /jsp servlet 在地址栏里显示是 //localhost: /jsp servlet/

  在 project 根目录下有 admin目录 对应的 Context是/admin/jsp servlet 在地址栏里显示是 //localhost: /jsp servlet/admin

  在这两个目录下的 jsp 都想转到 demo JspServletDemo类做处理 这时的 url需要在 web xml注册两次

   )在 //localhost: /jsp servlet/ 目录下的 jsp 页面 JspServlet

   url应写为 "JspServlet"

   )在 //localhost: /jsp servlet/admin/ 目录下的 jsp 页面访问 JspServlet url应写为 "admin/JspServlet"

   在 servlet直接用 request对象 得到发送来的请求内容 用 request getSession() 得到 session对象 从而得到会话内容 这里的 request getSession()的参数为 boolean 类型 该方法意思可理解为

  session可以认为是每一个IE进程对应一个会话(新开一个IE进程就可以对应两个会话的) getSession都是返回当前用户的会话对象 参数的区别在于

  参数为true (默认) 则如果“当前用户的会话对象”为空(第一次访问时)则创建一个新的会话对象返回

  参数为false 则如果“当前用户的会话对象”为空 则返回 null (即不自动创建会话对象)

  利用这个方法可以判断 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转到 jsp不外乎两种方法 重定向 和 url转发

   重定向 ( Redirect) 是路径的跳转 内容和 url都改变 不允许带 request参数( session参数可以) 即不允许在 servlet里给 request对象使用setAttribute方法传给下一页面 在 servlet里使用 response sendRedirect(url) 方法 注意这里的 url前不带斜线 / 如 response sendRedirect(”test jsp“)

   url转发 ( Forward) 是页面的跳转 页面内容发生改变 url不变 可以带 request和 session参数 在 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); 
cha138/Article/program/Java/JSP/201311/20260

相关参考

知识大全 ASP.NET页面间的传值的几种方法[2]

ASP.NET页面间的传值的几种方法[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET页面间的传值的几种方法[1]

ASP.NET页面间的传值的几种方法[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP

知识大全 JSF jsp页面和后台bean传值问题

JSFjsp页面和后台bean传值问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  :jsf中

知识大全 关于jsp和servlet中的乱码问题

  在jsp和servlet的开发中今天自己做的一个小例子中出现了中文乱码问题用了许多方法发现还是解决不了最后我用了过滤器才算终结  此方法总结如下在jsp页面中使用<%@pagepageEnc

知识大全 关于Servlet及JSP中遇到的多线程同步问题

关于Servlet及JSP中遇到的多线程同步问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Jsp与servlet的区别

Jsp与servlet的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  jsp经编译后就变成

知识大全 JSP页面传值中文乱码的简单解决方法

JSP页面传值中文乱码的简单解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  源代码ajs

知识大全 使用JSP/Servlet上载文件

使用JSP/Servlet上载文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinz

知识大全 JSP和Servlet配置详解

JSP和Servlet配置详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先是下载工具  

知识大全 JSP和Servlet的性能优化

JSP和Servlet的性能优化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在本文中带领你学