关于JSP里JavaBean的用法分析
来源:互联网 发布:免费手机工作日志软件 编辑:程序博客网 时间:2024/06/11 14:03
关于JSP里JavaBean的用法分析:我们可以使用Scriptlet的方式: <%! %> / <% %>
还可以用<jsp:useBean>的方式//bean.HelloBean.java:
package bean;public class HelloBean {private String str;public void setStr(String s){str = s;}public String getStr(){return str;}}
//index.jsp
<%@page import="bean.HelloBean"%><html> <body> <%!bean.HelloBean memBean = new bean.HelloBean();%> <%memBean.setStr("memBean!!"); %> <%=memBean.getStr()%> <%bean.HelloBean partBean = new bean.HelloBean();%> <%partBean.setStr("partBean!!"); %> <%=partBean.getStr()%> <jsp:useBean id="pageBean" scope="page" class="bean.HelloBean"> </jsp:useBean> <%pageBean.setStr("pageBean!!"); %> <%=pageBean.getStr()%> <jsp:useBean id="requestBean" scope="request" class="bean.HelloBean"> </jsp:useBean> <%requestBean.setStr("pageBean!!"); %> <%=pageBean.getStr()%> <jsp:useBean id="sessionBean" scope="session" class="bean.HelloBean"> </jsp:useBean> <%sessionBean.setStr("pageBean!!"); %> <%=sessionBean.getStr()%> <jsp:useBean id="appBean" scope="application" class="bean.HelloBean"> </jsp:useBean> <%sessionBean.setStr("appBean!!"); %> <%=sessionBean.getStr()%> </body></html>
jsp:useBean各项参数含义:id:对象实例名称scope:Bean作用的范围,
默认为page,对整个jsp页面有效
Scope各项参数的意义:page:仅涵盖使用JavaBean的页面(PageBean.jsp/CounterBean.java)
request:有效范围仅限于使用JavaBean的请求(RequestBean.jsp/RequestBean2.jsp/CounterBean.java)
session:有效范围在用户整个连接过程中(整个会话阶段均有效)(SessionBean.jsp/Session2.jsp/CounterBean.java)
application:有效范围涵盖整个应用程序。也就是对整个web应用均有效(Application.jsp/Application2.jsp/CounterBean.java)
//然后我们去到Tomcat的work目录下查看jsp被编译生成的java文件:
/* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/7.0.22 * Generated at: 2011-11-02 01:36:52 UTC * Note: The last modified time of this file was set to * the last modified time of the source file after * generation to assist with modification tracking. */package org.apache.jsp;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;import bean.HelloBean;public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent {bean.HelloBean memBean = new bean.HelloBean(); //<%!bean.HelloBean memBean = new bean.HelloBean();%> <%! %> 使这个bean变量这个类的成员变量 private static final javax.servlet.jsp.JspFactory _jspxFactory = javax.servlet.jsp.JspFactory.getDefaultFactory(); private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants; private javax.el.ExpressionFactory _el_expressionfactory; private org.apache.tomcat.InstanceManager _jsp_instancemanager; public java.util.Map<java.lang.String,java.lang.Long> getDependants() { return _jspx_dependants; } public void _jspInit() { _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); } public void _jspDestroy() { } public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException { final javax.servlet.jsp.PageContext pageContext; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application; final javax.servlet.ServletConfig config; javax.servlet.jsp.JspWriter out = null; final java.lang.Object page = this; javax.servlet.jsp.JspWriter _jspx_out = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType("text/html"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n"); out.write("<html>\r\n"); out.write(" <body>\r\n"); out.write("\r\n"); out.write(" "); out.write("\r\n"); out.write(" ");memBean.setStr("memBean!!"); out.write("\r\n"); out.write(" "); out.print(memBean.getStr()); out.write("\r\n"); out.write(" \r\n"); out.write(" "); bean.HelloBean partBean = new bean.HelloBean(); //<%bean.HelloBean partBean = new bean.HelloBean();%> <% %>使bean成为了类的成员函数的局部变量 out.write("\r\n"); out.write(" ");partBean.setStr("partBean!!"); out.write("\r\n"); out.write(" "); out.print(partBean.getStr()); out.write("\r\n"); out.write(" \r\n"); out.write(" "); bean.HelloBean pageBean = null; //<jsp:useBean id="pageBean" scope="page" class="bean.HelloBean"> pageBean = (bean.HelloBean) _jspx_page_context.getAttribute("pageBean", javax.servlet.jsp.PageContext.PAGE_SCOPE); if (pageBean == null){ pageBean = new bean.HelloBean(); _jspx_page_context.setAttribute("pageBean", pageBean, javax.servlet.jsp.PageContext.PAGE_SCOPE); out.write("\r\n"); out.write(" "); } out.write("\r\n"); out.write(" \r\n"); out.write(" ");pageBean.setStr("pageBean!!"); out.write("\r\n"); out.write(" "); out.print(pageBean.getStr()); out.write("\r\n"); out.write(" \r\n"); out.write(" \t"); bean.HelloBean requestBean = null; //<jsp:useBean id="requestBean" scope="request" class="bean.HelloBean"> requestBean = (bean.HelloBean) _jspx_page_context.getAttribute("requestBean", javax.servlet.jsp.PageContext.REQUEST_SCOPE); if (requestBean == null){ requestBean = new bean.HelloBean(); _jspx_page_context.setAttribute("requestBean", requestBean, javax.servlet.jsp.PageContext.REQUEST_SCOPE); out.write("\r\n"); out.write(" "); } out.write("\r\n"); out.write(" \r\n"); out.write(" ");requestBean.setStr("pageBean!!"); out.write("\r\n"); out.write(" "); out.print(pageBean.getStr()); out.write("\r\n"); out.write(" \r\n"); out.write(" "); bean.HelloBean sessionBean = null;// <jsp:useBean id="sessionBean" scope="session" class="bean.HelloBean"> synchronized (session) { sessionBean = (bean.HelloBean) _jspx_page_context.getAttribute("sessionBean", javax.servlet.jsp.PageContext.SESSION_SCOPE); if (sessionBean == null){ sessionBean = new bean.HelloBean(); _jspx_page_context.setAttribute("sessionBean", sessionBean, javax.servlet.jsp.PageContext.SESSION_SCOPE); out.write("\r\n"); out.write(" "); } } out.write("\r\n"); out.write(" \r\n"); out.write(" ");sessionBean.setStr("pageBean!!"); out.write("\r\n"); out.write(" "); out.print(sessionBean.getStr()); out.write("\r\n"); out.write(" \r\n"); out.write(" "); bean.HelloBean appBean = null; // <jsp:useBean id="appBean" scope="application" class="bean.HelloBean"> synchronized (application) { appBean = (bean.HelloBean) _jspx_page_context.getAttribute("appBean", javax.servlet.jsp.PageContext.APPLICATION_SCOPE); if (appBean == null){ appBean = new bean.HelloBean(); _jspx_page_context.setAttribute("appBean", appBean, javax.servlet.jsp.PageContext.APPLICATION_SCOPE); out.write("\r\n"); out.write(" "); } } out.write("\r\n"); out.write(" \r\n"); out.write(" ");sessionBean.setStr("appBean!!"); out.write("\r\n"); out.write(" "); out.print(sessionBean.getStr()); out.write("\r\n"); out.write(" \r\n"); out.write(" </body>\r\n"); out.write("</html>\r\n"); } catch (java.lang.Throwable t) { if (!(t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out != null && out.getBufferSize() != 0) try { out.clearBuffer(); } catch (java.io.IOException e) {} if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } }}
- 关于JSP里JavaBean的用法分析
- Jsp中JavaBean的用法
- JSP Modul 1(jsp+javabean的用法)
- 关于JSP中JavaBean的Scope属性
- 关于JSP中JavaBean的setProperty属性
- JSP Modul 2(jsp+javabean+servlet的用法)
- jsp里的参数如何与javabean里的参数对应
- 关于处理JSP和javabean之间的中文问题
- JAVA一步一步的WEB编程关于JSP与JavaBean
- jsp+servlet+javabean中关于图片上传的问题
- 带JavaBean 的JSP
- 带JavaBean 的JSP
- jsp+javabean的分页
- JSP JavaBean的使用方法
- javaBean的用法
- JavaBean的简单用法
- 关于Python里的super用法研究
- 关于Python里split()函数的用法
- 在C#中使用委托 .
- 你也可写出漂亮的英文--写作必背35个句型
- C#中实现网页下载 .
- linux驱动编写32位与64位设备注意事项
- 编写最小的wxWidgets程序
- 关于JSP里JavaBean的用法分析
- Android 应用程序之间数据共享—ContentResolver
- 在C#中调用API的基本过程 .
- 在打开VS2008C#网页时,系统提示“connot load msptls.dll”
- flex字符串转换数组并替换元素
- wxWidgets类库结构图
- 验证邮箱地址和手机号码 .
- mozila firefox css 圆角效果
- FFMPEG同步操作(转)