JavaBean和EJB的区别
JavaBean是可视的或者是不可视的,不用部署,EJB是不可视的,需要部署到服务器中。
JavaBean部署在应用程序中, EJB是部署在容器中,可以是有状态或者是无状态的,声明式事务。
JavaBean的属性和方法是普通的,EJB是需要遵守规范,是需要通过标准的描述符来定义的。
JavaBean是基于事件驱动的,EJB中只有消息驱动Bean是基于事件的
注意:jsp:useBean动作,用表单为Bean的属性赋值时,也就是jsp:setProperty动作直接收请求中表单的信息为使用的Bean的属性进行赋值,也就是说jsp:useBean和jsp:setProperty不能够出现在为这个Bean的属性赋值的form表单的页面上。
JSP的异常处理
<%@page errorPage="xxx.jsp"%> 指定本页面出现异常后要转到的页面
<%@page iserrorPage="true"%> 见本页面指定为异常处理页面,也就是其他出异常的页面可以指定本页面为要转到的异常处理页面。
处理异常
运行时异常
1) 一个程序运行时重获的错误;
2) 能被一固有的异常对象引用所使用;
3) 可以利用异常引用创建或产生一个JSP页面显示异常信息给用户。
创建一个异常跟踪方案
1) 在每一个JSP页面,包含要创建的异常页面名称;
<%@page import="numberguess.NumberGuessBean" errorPage="error.jsp"%>
2) 创建一个异常页面;
<%@page isErrorPage="true"%>
JSP页面中的异常处理
1) <%=exception.toString()%> 打印异常名称;
2) <%exception.printStackTrace();%> 打印当前错误流中所有错误的列表;
3) <%=exception.getMessage()%> 打印错误的详细描述信息
JSP中异常页面的部署描述
<error-page>
<error-code>404</error-code>
<location>notFound.html</location>
</error-page>
<error-page>
<exception-type>java.lang.NumberFormatException</exception-page>
<location>error.jsp</location>
</error-page>
JSP隐含内置对象
JSP中隐含内置对象
名称 类型 注释和范围
request javax.servlet.http.HttpServletRequest request
response javax.servlet.http.HttpServletResponse response
page javax.lang.Object page
Exception java.lang.Throwable page
pageContext javax.servlet.jsp.PageContext page
session javax.servlet.http.HttpSession session
application javax.servlet.ServletContext ServletContext
out javax.servlet.jsp.JspWriter OutputStream
config javax.servlet.ServletConfig ServletConfig
内置对象request(HttpServletRequest)
1)封装了来自客户端的请求:
2)方法:
Parameter related methods:
+getParameterNames():Enumberation 返回form中对象名称的枚举;
+getParameter(String name):String返回指定名称的对象值;
+getParameterValues(String name) :String[ ] 返回指定名称的对象值数组;
+getParameterMap():Map
Attribute related methods:
+setAttribute(String name,Object value) :void 设置属性
+getAttribute(String name) :Oject 返回属性值;
+removeAttribute(String name) :void
+getAttributeNames():Enumberation 返回属性名称
URL related methods:
+getContextPath():String
+getServletPath():String
+getPathInfo():String
State related methods:
+getCookies():Cooie[ ] 取得Cookie数组;
+getSession():HttpSession
+getSession(Boolean create) :HttpSession
内置对象response(HttpServletResponse)
+getWriter():PrintWriter
+addCookie(Cookie c) :void
+encodeURL(String URL) :String
+sendRedirect(String URL) :void
+sendError(int errorCode) :void
内置对象session(HttpSession)
+setAttribute(String name,Object value) :void 设置属性
+getAttribute(String name) :Oject 返回属性值;
+removeAttribute(String name) :void
+getAttributeNames():Enumberation 返回属性名称
Other motheds:
+seMaxInactiveInterval(int seconds) :void
Invalidate():void
内置对象pageContext(PageContext)
+setAttribute(String name,Object value) :void 设置属性
+getAttribute(String name) :Oject 返回属性值;
+removeAttribute(String name) :void
+getAttributeNames():Enumberation 返回属性名称
+findAttribute(String name) :Object
Other motheds:
+getRequest():HttpServletRequest
+getSession():HttpSession
+getServletContext():ServletContext
+getOut():JspWriter
内置对象application(ServletContext)
+setAttribute(String name,Object value) :void 设置属性
+getAttribute(String name) :Oject 返回属性值;
+removeAttribute(String name) :void
+getAttributeNames():Enumberation 返回属性名称
Other methods:
+getRequstDispather(String URL):RequestDispather
+getInitParameter(String name) :String
内置对象out
1)JSPWriter的一个实例, 用于发送响应给客户端
2)方法:
print(String)/println(String) 用于向页面输出
print(int)/println(int)
flush() 刷新out对象的缓存
内置对象exception
1) 用于异常对象的异常实例;
2) 异常页面在page指令中存在属性 isErrorPage="true";
3) 方法:
getMessage()/printStackTrace()/toString()
内置对象session
1) HttpSession的一个实例, 用于来维护session的状态
2) 方法:
getAttribute(String name)/setAttribute(String name)
取得设置的属性的对应资源/设置属性的对应资源
removeAttribute(String name) 删除属性和队应资源
getAttributeNames()
返回值是一个迭代器,可以获得session中设置的属性的名字也就是在set时使用的与资源对应的那个名字
内置对象application
1) ServletContext一个实例,用来维护application的状态
2) 方法:
getAttribute()/setAttribute() 和session以及request中的那一对设置属性及其对应资源的方法
getInitParameter() 获得初始化参数
getServletInfo() 获得Servlet的信息
3) application的作用域比session大得多,一个session和一个client联系, 而application保持了用于所有客户端的状态。
注意:如果要保存的数据量比较大时,就要使用生命周期比较短的request对象,page对象只在本页面中有效,也就是会再翻译后的service
分享到:
相关推荐
这些章节可能会涵盖如何处理请求数据、管理响应、使用JSP内置对象,以及如何通过JSTL进行流程控制和数据操作。 3. **Chapter 8:Servlet和JSP的关系** 这一章可能讨论了JSP与Servlet之间的联系,包括JSP的编译...
对于大多数其他应用,同样需要Web中间层来提取和处理数据。 1.2 JSP(JavaServer Pages) JSP是一种用于创建动态Web内容的Java技术,它将HTML代码与Java代码分离,使开发者能够更方便地处理视图逻辑。JSP页面在首次...
通过使用JSP隐含对象如`request`、`response`、`session`、`application`,我们可以方便地处理HTTP请求,设置响应头,管理会话状态和全局应用程序数据。 JSP标准标签库(JSTL)是JSP开发中常用的一组标签,它提供了...
在本系统中,JSP主要用于展示用户界面,接收用户输入,并通过隐含对象如`request`、`response`与Servlet进行交互。 2. **Servlet技术**: Servlet是Java中处理HTTP请求的Java类。在登录注册系统中,Servlet通常...
JSP和Servlet是构建MVC架构的关键,学员需要熟练使用Jsp隐含对象、JavaBean、标签技术和JSTL。Servlet技术包括运行原理、Web服务器配置和DAO设计模式。EJB(Enterprise JavaBeans)的讲解涵盖EJB3.0的开发环境配置、...
在Java面试中,经常会遇到各种类型的问题,涉及到语言基础、数据结构、异常处理、容器理解、内存模型以及对象比较等多个方面。以下是对给定题目中涉及知识点的详细解释: 1. `equals()` 和 `hashCode()` 方法:在...
JSP 隐含对象包括 out、config、exception 等,但是 server 不是 JSP 隐含对象。 17. Struts 中的 dispatchAction: 在 Struts 中,dispatchAction 可以根据请求中的参数不同,调用不同的函数,但是对应的函数不能...
15. **JSP隐含对象**:在给定的JSP代码片段中,`request`、`response`、`session`和`out`是JSP的隐含对象,可以直接在页面中使用,无需显式声明。 以上内容详细介绍了J2EE中的一些关键概念和技术,包括JSP、Servlet...
7. JSP与Servlet的交互:JSP隐含对象、转发与重定向的区别。 三、Java EE核心组件 8. JavaBean:属性、getter/setter方法,以及在JSP中使用<jsp:useBean>标签。 9. JDBC:数据库连接、执行SQL语句、结果集处理,...
源代码将展示JSP的使用技巧,如指令标签、隐含对象和自定义标签的运用。 3. **JavaBean**: JavaBean是符合一定规范的Java类,常作为组件在Java Web应用中使用。书中源代码会演示如何创建和使用JavaBean来封装业务...
JSP(JavaServer Pages)是动态网页技术,它允许开发者在HTML中嵌入Java代码,通过九大隐含对象如out、request、response和session等,方便地处理用户请求和响应。 Spring是一个开源的Java企业级应用框架,提供依赖...
- **EJB**:企业级JavaBean,用于业务逻辑层。 - **Applet**:早期用于客户端浏览器的Java程序。 - **HTML**:标记语言,不是组件。 #### 9. Web应用根目录`ROOT`中可存放的文件 - **选项解析**:`ROOT`目录通常...
13. **JSP隐含对象**:如request、response、session、application等,它们是预定义的变量,简化JSP编程。 14. **JSP指令**:page、include、taglib等指令,用于页面配置、包含其他文件和引入标签库。 15. **...
【Java大学设备管理系统计算机毕业设计】的英文文献主要探讨了Servlet和JSP技术,并提供了相关的中文翻译。在本文档中,作者Nagle和Wiegley于2008年8月详细介绍了这两种核心技术在Web开发中的应用。 Servlet技术是...
Servlet的主要任务是接收和处理客户端发送的数据,然后根据这些数据与后端资源交互并生成响应结果。具体职责如下: 1. 读取客户端显式提供的数据:通常用户在Web页面的HTML表单中输入这些数据。但也可能来自于一个...
包括了MVC(Model-View-Controller)设计模式,以及用于业务逻辑处理、数据持久化的各种技术和服务,如Spring、Hibernate、Java Servlet、JavaServer Pages (JSP)、Enterprise JavaBean (EJB)等。 4. ORM框架:文档...