J2EE学习笔记.docx
- 文档编号:5762530
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:48
- 大小:68.58KB
J2EE学习笔记.docx
《J2EE学习笔记.docx》由会员分享,可在线阅读,更多相关《J2EE学习笔记.docx(48页珍藏版)》请在冰豆网上搜索。
J2EE学习笔记
J2EE学习笔记
注:
框架可以用Word菜单中的 “视图/文档结构图” 看到
J2EE模式
Value Object(值对象) 用于把数据从某个对象/层传递到其他对象/层的任意Java对象。
通常不包含任何业务方法。
也许设计有公共属性,或者提供可以获取属性值的get方法。
JSP
1.JSP的基础知识
__
_____ | directive (指令)
| |-- scripting (脚本)
JSP -------| |__ action (动作)
|
|_____Template data :
除JSP语法外,JSP引擎不能解读的东西
1)在JSP中使用的directive(指令)主要有三个:
a)page指令
b)include指令
c)taglib指令
在JSP的任何地方,以任何顺序,一个页面可以包含任意数量的page指令
2)Scripting(脚本)包括三种类型
a)<%!
declaraction %>;
b)<% scriptlet %>;
c)<%= expression %>;
3)action(动作)
标准的动作类型有:
a) useBean>; b) setProperty>; d) getProperty>; e) param>; f) include>; g) forward>; h) plugin>; 1.注释: <% -----jsp comment-------%>; -----html comment-------%>; 2.<%@ page session = “true” import =”java.util.*” %>; session可以不赋值,默认为true,如果session=”false”,则在JSP页面中,隐含的变量session就不能使用。 3.请求控制器结构(Request Controller) 也被称之为JSP Model 2 Architecture 这种途径涉及到使用一个Servlet或一个JSP作为一个应用程序或一组页面的入口点。 为创建可维护的JSP系统,Request Controller是最有用的方式之一。 不是JSP,而是Java类才是放置控制逻辑的正确的地方。 请求控制器的命名模式为: xxxController.jsp 请求控制器类的命名模式为: xxxRequestController 2.JSP中的JavaBean JSP三种bean的类型 1)页面bean 2)会话bean 3)应用bean 大多数的系统会使用一个会话bean来保持状态,而对每一个页面使用一个页面bean 来对复杂的数据进行表示。 页面bean是一个模型,而JSP是一个视图。 3.Custom tag bean是信息的携带者, 而tag更适用于处理信息。 标记库包含一个标记库描述符(TLD)和用于实现Custom tag的Java类 在翻译阶段,JSP容器将使用TLD来验证页面中的所有的tag是否都被正确的使用。 标记处理程序只是一个简单的适配器,而真正的逻辑是在另一个类中实现的,标记处理程序只是提供了一个供其他的可复用的类的JSP接口 Servlet 1.ServletConfig 一个ServletConfig对象是servlet container在servlet initialization的时候传递给servlet的。 ServletConfig包涵 ServletContext 和 一些 Name/Value pair (来自于deployment descriptor) ServletContext接口封装了Web应用程序的上下文概念。 2.会话跟踪 1) Session 当一个Client请求多个Servlets时,一个session可以被多个servlet共享。 通常情况下,如果server detect到browser支持cookie,那么URL就不会重写。 2) cookie 在Java Servlet中,如果你光 Cookie cookie = new Cookie(name,value) 那么当用户退出Browser时,cookie会被删除掉,而不会被存储在客户端的硬盘上。 如果要存储 cookie,需加一句 cookie.setMaxAge(200) cookie是跟某一个server相关的,运行在同一个server上的servlet共享一个cookie. 3) URL Rewriting 在使用URL Rewriting来维护Session ID的时候,每一次HTTP请求都需要EncodeURL() 典型的用在两个地方 1)out.print(“form action=\” ”); out.print(response.encodeURL(“sessionExample”)); out.print(“form action=\” ”); out.print(“method = GET>;”); 2)out.print(“ 3.SingleThreadModel 默认的,每一个servlet definition in a container只有一个servlet class的实例。 只有实现了SingleThreadModel,container才会让servlet有多个实例。 Servlet specification上建议,不要使用synchronized,而使用SingleThreadModel。 SingleThreadModel(没有方法) 保证servlet在同一时刻只处理一个客户的请求。 SingleThreadModel是耗费资源的,特别是当有大量的请求发送给Servlet时,SingleThreadModel的作用是使包容器以同步时钟的方式调用service方法。 这等同于在servlet的service()方法种使用synchronized. Single Thread Model一般使用在需要响应一个heavy request的时候,比如是一个需要和数据库打交道的连接。 2.在重载Servlet地init( )方法后,一定要记得调用super.init( ); 3.the client通过发送一个blank line表示它已经结束request 而the server通过关闭the socket来表示response已结束了。 4.一个Http Servlet可以送三种东西给Client 1)a single status code 2)any number of http headers 3)a response body 5.Servlet之间信息共享的一个最简单的方法就是 System.getProperties().put(“key”,”value”); 6.Post和Get Post: 将form内各字段名称和内容放置在html header内传送给server Get: ? 之后的查询字符串要使用URLEncode,经过URLEncode后,这个字符串不再带有空格,以后将在server上恢复所带有的空格。 Get是Web上最经常使用的一种请求方法,每个超链接都使用这种方法。 7.Web.xml就是Web Applicatin 的deployment descriptor 作用有: 组织各类元素 设置init param 设置安全性 8.Request Dispatcher用来把接收到的request forward processing到另一个servlet 要在一个response里包含另一个servlet的output时,也要用到Request Dispatcher. 9.Servlet和Jsp在同一个JVM中,可以通过ServeltContext的 setAttribute( ) getAttribute( ) removeAttribute( ) 来共享对象 10.利用request.getParameter( )得到的String存在字符集问题。 可以用 strTitle = request.getParameter(“title”); strTitle = new String(strTitle.getBytes(“8859-1”),”gb2312”); 如果你希望得到更大得兼容性 String encoding = response.getCharacterEncoding(); //确定Application server用什么编码来读取输入的。 strTitle = new String(strTitle.getBytes(encoding),”gb2312”); XML 1.XML基础知识 1.一个xml文档可以分成两个基本部分: 首部( header ) 内容( content ) 2.xml名字空间规范中指定: xml文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,缺省的名字空间就是和该元素相关联的名字空间。 3.A document that is well-formed obeys all of the rules of XML documents (nested tags, etc.) " If a well-formed document uses a Document Type Definition (more on these in a minute), and it follows all the rules of the DTD, then it is also a valid document 4.A tag is the text between the " An element is the start tag, the end tag,and everything (including other elements) in between 5.标签( tags ) 实际上包含了“元素”( elements ) 和 “属性”( attributes )两部分。 用元素( elements )来描述有规律的数据。 用属性( attributes ) 来描述系统数据。 如果你有一些数据要提供给某个应用程序,该数据就可能要用到一个元素。 如果该数据用于分类,或者用于告知应用程序如何处理某部分数据,或者该数据从来没有直接对客户程序公开,那么它就可能成为一种属性。 6.CDATA (读作: C data ) C是character的缩写。 7. org.xml.sax.Reader /|\ org.xm.l.sax.XMLReader /|\ org.apche.xerces.parsers.SAXParser 2.WebService 2.1 WebService的基本概念 WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。 这种技术允许网络上的所有系统进行交互。 随着技术的发展,一个Web服务可以包含额外的指定功能并且可以在多个B2B应用中协作通讯。 Web服务可以理解请求中上下文的关系,并且在每一个特定的情况下产生动态的结果。 这些服务会根据用户的身份,地点以及产生请求的原因来改变不同的处理,用以产生一个唯一的,定制的方案。 这种协作机制对那些只对最终结果有兴趣的用户来说,是完全透明的。 UDDI 在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件。 所以,我们需要一种方法来发布我们的Web服务。 UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。 UDDI 项目中的成员可以通过UDDI Business Registry (UBR) 来操作Web服务的调用,UBR是一个全球性的服务。 Web服务供应商可以在UBR中描述并且注册他们的服务。 用户可以在UBR中查找并定位那些他们需要的服务。 UDDI是一种根据描述文档来引导系统查找相应服务的机制。 UDDI包含标准的“白皮书”类型的商业查询方式, “黄皮书”类型的局部查找,以及 “绿皮书”类型的服务类型查找。 UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。 它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。 WSDL 对于商业用户来说,要找到一个自己需要使用的服务,他必须知道如何来调用。 WSDL (Web Services Description Language) 规范是一个描述接口,语义以及Web服务为了响应请求需要经常处理的工作的XML文档。 这将使简单地服务方便,快速地被描述和记录。 以下是一个WSDL的样例: xml version="1.0"? >; targetNamespace=" xmlns: tns=" xmlns: xsd1=" xmlns: soap="http: //schemas.xmlsoap.org/wsdl/soap/" xmlns="http: //schemas.xmlsoap.org/wsdl/">; xmlns="http: //www.w3.org/2000/10/XMLSchema">; ; ; ; ; ; ; ; TradePriceRequest"/>; ; TradePrice"/>; ; GetLastTradePriceInput"/>; ; ; ; StockQuoteBinding">; address location=" ; 它包含了以下的关键信息: 消息的描述和格式定义可以通过XML文档中的 (e.g. request-only, request-response, response-only) 。 WSDL在UDDI中总是作为一个接口描述文档。 因为UDDI是一个通用的用来注册WSDL规范的地方,UDDI的规范并不限制任何类型或者格式描述文档。 这些文档可能是一个WSDL文档,或者是一个正规的包含导向文档的Web页面,也可能只是一个包含联系信息的电子邮件地址。 现在Java提供了一个 Java API for WSDL (JWSDL)规范。 它提供了一套能快速处理WSDL文档的方法,并且不用直接对XML文档进行操作,它会比JAXP更方便,更快速。 SOAP 当商业用户通过UDDI找到你的WSDL描述文档后,他通过可以Simple Object Access Protocol (SOAP) 调用你建立的Web服务中的一个或多个操作。 SOAP是XML文档形式的调用商业方法的规范,它可以支持不同的底层接口,象HTTP(S)或者SMTP。 之所以使用XML是因为它的独立于编程语言,良好的可扩展性以及强大的工业支持。 之所以使用HTTP是因为几乎所有的网络系统都可以用这种协议来通信,由于它是一种简单协议,所以可以与任何系统结合,还有一个原因就是它可以利用80端口来穿越过防火墙。 SOAP的强大是因为它简单。 SOAP是一种轻量级的,非常容易理解的技术,并且很容易实现。 它有工业支持,可以从各主要的电子商务平台供应商那里获得。 从技术角度来看,SOAP详细指明了如何响应不同的请求以及如何对参数编码。 一个SOAP封装了可选的头信息和正文,并且通常使用HTTP POST方法来传送到一个HTTP 服务器,当然其他方法也是可以的,例如SMTP。 SOAP同时支持消息传送和远程过程调用。 以下是一个SOAP请求。 POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" Envelope xmlns: SOAP-ENV="http: //schemas.xmlsoap.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2EE 学习 笔记