j2ee笔记JAVA程序员JAVA工程师面试必看.doc

上传人:wj 文档编号:2077278 上传时间:2023-05-02 格式:DOC 页数:55 大小:288KB
下载 相关 举报
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第1页
第1页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第2页
第2页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第3页
第3页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第4页
第4页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第5页
第5页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第6页
第6页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第7页
第7页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第8页
第8页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第9页
第9页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第10页
第10页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第11页
第11页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第12页
第12页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第13页
第13页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第14页
第14页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第15页
第15页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第16页
第16页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第17页
第17页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第18页
第18页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第19页
第19页 / 共55页
j2ee笔记JAVA程序员JAVA工程师面试必看.doc_第20页
第20页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

j2ee笔记JAVA程序员JAVA工程师面试必看.doc

《j2ee笔记JAVA程序员JAVA工程师面试必看.doc》由会员分享,可在线阅读,更多相关《j2ee笔记JAVA程序员JAVA工程师面试必看.doc(55页珍藏版)》请在冰点文库上搜索。

j2ee笔记JAVA程序员JAVA工程师面试必看.doc

-JAVA程序员JAVA工程师面试必看

J2EE学习笔记

注:

框架可以用Word菜单中的“视图/文档结构图”看到

J2EE模式

ValueObject(值对象)用于把数据从某个对象/层传递到其他对象/层的任意Java对象。

通常不包含任何业务方法。

也许设计有公共属性,或者提供可以获取属性值的get方法。

JSP

1.JSP的基础知识

__

_____|directive(指令)

||--scripting(脚本)

JSP-------||__action(动作)

|

|_____Templatedata:

除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.注释:

<%-----jspcomment-------%>

-----htmlcomment-------%>

2.<%@pagesession=“true”import=”java.util.*”%>

session可以不赋值,默认为true,如果session=”false”,则在JSP页面中,隐含的变量session就不能使用。

3.请求控制器结构(RequestController)

也被称之为JSPModel2Architecture

这种途径涉及到使用一个Servlet或一个JSP作为一个应用程序或一组页面的入口点。

为创建可维护的JSP系统,RequestController是最有用的方式之一。

不是JSP,而是Java类才是放置控制逻辑的正确的地方。

请求控制器的命名模式为:

xxxController.jsp

请求控制器类的命名模式为:

xxxRequestController

2.JSP中的JavaBean

JSP三种bean的类型

1)页面bean

2)会话bean

3)应用bean

大多数的系统会使用一个会话bean来保持状态,而对每一个页面使用一个页面bean来对复杂的数据进行表示。

页面bean是一个模型,而JSP是一个视图。

3.Customtag

bean是信息的携带者,

而tag更适用于处理信息。

标记库包含一个标记库描述符(TLD)和用于实现Customtag的Java类

在翻译阶段,JSP容器将使用TLD来验证页面中的所有的tag是否都被正确的使用。

标记处理程序只是一个简单的适配器,而真正的逻辑是在另一个类中实现的,标记处理程序只是提供了一个供其他的可复用的类的JSP接口

Servlet

1.ServletConfig

l一个ServletConfig对象是servletcontainer在servletinitialization的时候传递给servlet的。

ServletConfig包涵ServletContext和一些Name/Valuepair(来自于deploymentdescriptor)

lServletContext接口封装了Web应用程序的上下文概念。

2.会话跟踪

1)Session

l当一个Client请求多个Servlets时,一个session可以被多个servlet共享。

l通常情况下,如果serverdetect到browser支持cookie,那么URL就不会重写。

2)cookie

l在JavaServlet中,如果你光Cookiecookie=newCookie(name,value)

那么当用户退出Browser时,cookie会被删除掉,而不会被存储在客户端的硬盘上。

如果要存储cookie,需加一句cookie.setMaxAge(200)

lcookie是跟某一个server相关的,运行在同一个server上的servlet共享一个cookie.

3)URLRewriting

在使用URLRewriting来维护SessionID的时候,每一次HTTP请求都需要EncodeURL()

典型的用在两个地方

1)out.print(“formaction=\””);

out.print(response.encodeURL(“sessionExample”));

out.print(“formaction=\””);

out.print(“method=GET>”);

2)out.print(“

out.print(response.encodeURL(“SessionExample?

database=foo&datavalue=bar”));

out.println(“\”>URLencoded”);

3.SingleThreadModel

默认的,每一个servletdefinitioninacontainer只有一个servletclass的实例。

只有实现了SingleThreadModel,container才会让servlet有多个实例。

Servletspecification上建议,不要使用synchronized,而使用SingleThreadModel。

SingleThreadModel(没有方法)

保证servlet在同一时刻只处理一个客户的请求。

SingleThreadModel是耗费资源的,特别是当有大量的请求发送给Servlet时,SingleThreadModel的作用是使包容器以同步时钟的方式调用service方法。

这等同于在servlet的service()方法种使用synchronized.

SingleThreadModel一般使用在需要响应一个heavyrequest的时候,比如是一个需要和数据库打交道的连接。

2.在重载Servlet地init()方法后,一定要记得调用super.init();

3.theclient通过发送一个blankline表示它已经结束request

而theserver通过关闭thesocket来表示response已结束了。

4.一个HttpServlet可以送三种东西给Client

1)asinglestatuscode

2)anynumberofhttpheaders

3)aresponsebody

5.Servlet之间信息共享的一个最简单的方法就是

System.getProperties().put(“key”,”value”);

6.Post和Get

Post:

将form内各字段名称和内容放置在htmlheader内传送给server

Get:

?

之后的查询字符串要使用URLEncode,经过URLEncode后,这个字符串不再带有空格,以后将在server上恢复所带有的空格。

Get是Web上最经常使用的一种请求方法,每个超链接都使用这种方法。

7.Web.xml就是WebApplicatin的deploymentdescriptor

作用有:

组织各类元素

设置initparam

设置安全性

8.RequestDispatcher用来把接收到的requestforwardprocessing到另一个servlet

要在一个response里包含另一个servlet的output时,也要用到RequestDispatcher.

9.Servlet和Jsp在同一个JVM中,可以通过ServeltContext的

setAttribute()

getAttribute()

removeAttribute()

来共享对象

10.利用request.getParameter()得到的String存在字符集问题。

可以用strTitle=request.getParameter(“title”);

strTitle=newString(strTitle.getBytes(“8859-1”),”gb2312”);

如果你希望得到更大得兼容性

Stringencoding=response.getCharacterEncoding();

//确定Applicationserver用什么编码来读取输入的。

strTitle=newString(strTitle.getBytes(encoding),”gb2312”);

XML

1.XML基础知识

1.一个xml文档可以分成两个基本部分:

首部(header)

内容(content)

2.xml名字空间规范中指定:

xml文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,缺省的名字空间就是和该元素相关联的名字空间。

3.Adocumentthatiswell-formedobeysalloftherulesofXMLdocuments(nestedtags,etc.)

"Ifawell-formeddocumentusesaDocumentTypeDefinition(moreontheseinaminute),anditfollowsalltherulesoftheDTD,thenitisalsoavaliddocument

4.Atagisthetextbetweenthe

"Anelementisthestarttag,theendtag,andeverything(includingotherelements)inbetween

5.标签(tags)实际上包含了“元素”(elements)和“属性”(attributes)两部分。

用元素(elements)来描述有规律的数据。

用属性(attributes)来描述系统数据。

如果你有一些数据要提供给某个应用程序,该数据就可能要用到一个元素。

如果该数据用于分类,或者用于告知应用程序如何处理某部分数据,或者该数据从来没有直接对客户程序公开,那么它就可能成为一种属性。

6.CDATA(读作:

Cdata)C是character的缩写。

7.org.xml.sax.Reader

/|\

org.xm.l.sax.XMLReader

/|\

org.apche.xerces.parsers.SAXParser

2.WebService

2.1WebService的基本概念

WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。

这种技术允许网络上的所有系统进行交互。

随着技术的发展,一个Web服务可以包含额外的指定功能并且可以在多个B2B应用中协作通讯。

Web服务可以理解请求中上下文的关系,并且在每一个特定的情况下产生动态的结果。

这些服务会根据用户的身份,地点以及产生请求的原因来改变不同的处理,用以产生一个唯一的,定制的方案。

这种协作机制对那些只对最终结果有兴趣的用户来说,是完全透明的。

UDDI

在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件。

所以,我们需要一种方法来发布我们的Web服务。

UDDI(UniversalDescription,Discovery,andIntegration)是一个主要针对Web服务供应商和使用者的新项目。

UDDI项目中的成员可以通过UDDIBusinessRegistry(UBR)来操作Web服务的调用,UBR是一个全球性的服务。

Web服务供应商可以在UBR中描述并且注册他们的服务。

用户可以在UBR中查找并定位那些他们需要的服务。

UDDI是一种根据描述文档来引导系统查找相应服务的机制。

UDDI包含标准的“白皮书”类型的商业查询方式,

“黄皮书”类型的局部查找,以及

“绿皮书”类型的服务类型查找。

UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。

它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

WSDL

对于商业用户来说,要找到一个自己需要使用的服务,他必须知道如何来调用。

WSDL(WebServicesDescriptionLanguage)规范是一个描述接口,语义以及Web服务为了响应请求需要经常处理的工作的XML文档。

这将使简单地服务方便,快速地被描述和记录。

以下是一个WSDL的样例:

xmlversion="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"/>

           

GetLastTradePriceOutput"/>

        

     

     

                   type="tns:

StockQuotePortType">

        

bindingstyle="document"

                                transport="http:

//schemas.xmlsoap.org/soap/http"/>

       

           

operation

                          soapAction="

           

              

bodyuse="literal"/>

           

           

               

bodyuse="literal"/>

           

        

     

    

       Myfirstservice

       

StockQuoteBinding">

           

addresslocation="

       

    

 

它包含了以下的关键信息:

消息的描述和格式定义可以通过XML文档中的标记来传送。

标记中表示了消息传送机制。

(e.g.request-only,request-response,response-only)。

标记指定了编码的规范。

标记中表示服务所处的位置(URL)。

WSDL在UDDI中总是作为一个接口描述文档。

因为UDDI是一个通用的用来注册WSDL规范的地方,UDDI的规范并不限制任何类型或者格式描述文档。

这些文档可能是一个WSDL文档,或者是一个正规的包含导向文档的Web页面,也可能只是一个包含联系信息的电子邮件地址。

现在Java提供了一个JavaAPIforWSDL(JWSDL)规范。

它提供了一套能快速处理WSDL文档的方法,并且不用直接对XML文档进行操作,它会比JAXP更方便,更快速。

SOAP

当商业用户通过UDDI找到你的WSDL描述文档后,他通过可以SimpleObjectAccessProtocol(SOAP)调用你建立的Web服务中的一个或多个操作。

SOAP是XML文档形式的调用商业方法的规范,它可以支持不同的底层接口,象HTTP(S)或者SMTP。

之所以使用XML是因为它的独立于编程语言,良好的可扩展性以及强大的工业支持。

之所以使用HTTP是因为几乎所有的网络系统都可以用这种协议来通信,由于它是一种简单协议,所以可以与任何系统结合,还有一个原因就是它可以利用80端口来穿越过防火墙。

SOAP的强大是因为它简单。

SOAP是一种轻量级的,非常容易理解的技术,并且很容易实现。

它有工业支持,可以从各主要的电子商务平台供应商那里获得。

从技术角度来看,SOAP详细指明了如何响应不同的请求以及如何对参数编码。

一个SOAP封装了可选的头信息和正文,并且通常使用HTTPPOST方法来传送到一个HTTP服务器,当然其他方法也是可以的,例如SMTP。

SOAP同时支持消息传送和远程过程调用。

以下是一个SOAP请求。

POST/StockQuoteHTTP/1.1

Host:

Content-Type:

text/xml;charset="utf-8"

Content-Length:

nnnn

SOAPAction:

"Some-URI"

Envelope

   xmlns:

SOAP-ENV="http:

//schemas.xmlsoap.org/soap/envelope/"

   SOAP-ENV:

encodingStyle="http:

//schemas.xmlsoap.org/soap/encoding/"/>

   

Header>

       

Transactionxmlns:

t="some-URI"SOAP-ENV:

mustUnderstand="1">

          5

       

Transaction>

   

Header>

   

Body>

       

GetLastTradePricexmlns:

m="Some-URI">

           SUNW

       

GetLastTradePrice>

  

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2