您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > java学习心得笔记
java学习心得笔记j2ee学习笔记注:框架可以用word菜单中的“视图/文档结构图”看到j2ee模式valueobject(值对象)用于把数据从某个对象/层传递到其他对象/层的任意java对象。通常不包含任何业务方法。也许设计有公共属性,或者提供可以获取属性值的get方法。jsp1.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)jsp:usebean;b)jsp:setproperty;d)jsp:getproperty;e)jsp:param;f)jsp:include;g)jsp:forward;h)jsp: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请求控制器类的命名模式为:xxxrequestcontroller2.jsp中的javabeanjsp三种bean的类型1)页面bean2)会话bean3)应用bean大多数的系统会使用一个会话bean来保持状态,而对每一个页面使用一个页面bean来对复杂的数据进行表示。页面bean是一个模型,而jsp是一个视图。3.customtagbean是信息的携带者,而tag更适用于处理信息。标记库包含一个标记库描述符(tld)和用于实现customtag的java类在翻译阶段,jsp容器将使用tld来验证页面中的所有的tag是否都被正确的使用。标记处理程序只是一个简单的适配器,而真正的逻辑是在另一个类中实现的,标记处理程序只是提供了一个供其他的可复用的类的jsp接口servlet1.servletconfig一个servletconfig对象是servletcontainer在servletinitialization的时候传递给servlet的。servletconfig包涵servletcontext和一些name/valuepair(来自于deploymentdescriptor)servletcontext接口封装了web应用程序的上下文概念。2.会话跟踪1)session当一个client请求多个servlets时,一个session可以被多个servlet共享。通常情况下,如果serverdetect到browser支持cookie,那么url就不会重写。2)cookie在javaservlet中,如果你光cookiecookie=newcookie(name,value)那么当用户退出browser时,cookie会被删除掉,而不会被存储在客户端的硬盘上。如果要存储cookie,需加一句cookie.setmaxage(200)cookie是跟某一个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(“p;ahref=\””);out.print(response.encodeurl(“sessionexample?database=foo&datavalue=bar”));out.println(“\”;urlencoded/a;”);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可以送三种东西给client1)asinglestatuscode2)anynumberofhttpheaders3)aresponsebody5.servlet之间信息共享的一个最简单的方法就是system.getproperties().put(“key”,”value”);6.post和getpost:将form内各字段名称和内容放置在htmlheader内传送给serverget:?之后的查询字符串要使用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”);xml1.xml基础知识1.一个xml文档可以分成两个基本部分:首部(header)内容(content)2.xml名字空间规范中指定:xml文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,缺省的名字空间就是和该元素相关联的名字空间。3.adocumentthatiswell-formedobeysalloftherulesofxmldocuments(nestedtags,etc.)ifawell-formeddocumentusesadocumenttypedefinition(moreontheseinaminute),anditfollowsalltherulesofthedtd,thenitisalsoavaliddocument4.atagisthetextbetweentheanglebrackets;anelementisthestarttag,theendtag,andeverything(includingotherelements)inbetween5.标签(tags)实际上包含了“元素”(elements)和“属性”(attributes)两部分。用元素(elements)来描述有规律的数据。用属性(attributes)来描述系统数据。如果你有一些数据要提供给某个应用程序,该数据就可能要用到一个元素。如果该数据用于分类,或者用于告知应用程序如何处理某部分数据,或者该数据从来没有直接对客户程序公开,那么它就可能成为一种属性。6.cdata(读作:cdata)c是character的缩写。7.org.xml.sax.reader/|\org.xm.l.sax.xmlreader/|\org.apche.xerces.parsers.saxparser2.webservice2.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)来
本文标题:java学习心得笔记
链接地址:https://www.777doc.com/doc-6605529 .html