版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Javaweb简介HTTPHypertextTransferProtocolApplet——sun公司1995年推出胖客户端程序:当一个程序运行时需要单独一个客户端程序支持,如瘦客户端程序:不需要安装其他任何程序,直接使用,如静态web与动态web区别:是否可进行数据库操作,动态web最大特点为交互性(服务器自动根据用户请求的不同而显示不同的结果)动态web实现的五种形式CGI(CommonGatewayInterface),最早web操作标准,多进程处理机PHP(HypertextPreprocessor),跨平台服务器端嵌入式语言,完全免费,运行在Apache服务器下,MySqL数据库下才能达到最大性能(cieererPes),动态web服务器端开发环境,采用VBcript为语言,最大的问题是平台支持,只能运行在IIS服务器上,在Lerer数据库上得到最大性能发挥ASP.NET:微软继ASP后推出的新一代站开发技术,基于.NET框架平JSP(JavaServerPage):使用Java完成动态Web开发,不受平台制约,多种服务器支持(如Tomcat、Weblogic、JBoss、Websphere)Servlet(服务器端小程序)网络开发的两种模式 /Server模式):客户端需安装工具软件,管理和时客户端和服务器端需同时更改,如QQ,B/S(Brower/erer模式):在服务器端安装软件,客户端通过浏览器服务器,如购物,动态web开发属于BS模式一般企业开发架构开发平台(JaaEE)——中间件(Tomct、JBos、WebLoic)——数据库(B、Orcle、yL)——操作系统(inx、UNI、Widows)JavaEE架构基于JavaSE基础构件,有容器、组件、服务三大部分构企业开发三个客户层:web浏览器、Java编写的程中间层:为客户提供服务,使用JavaEE各种组件技术搭建JavaEE设计模式MVC(Mode-View-HTML、JavaScript简介URL(UniformResourceLocator):标准资源地HTTP:客户端请求和回应标准协议,输入地址和 可从服务器上取得所需要网页信HTML元素概主窗体元素、字符风格控制元素、版面控制元素、标题元素、元素、表格元素、表单元素、框架元JavaScript:一种基于对象和驱动并具有安全性能的语言,由Netscape公司LiveScript发展而Javascript基本语法:采用<script>标记、一般在<head>下,也可在其他任何位<scriptlanguage="javascript"> osj"); o也可将jvcript代码单独定义成js文件,再导入相关页面变量:vr,变量类型根据赋予具体内容来决定Javascript中程序分三种结果:顺序结构、分支结构、循环结函数:function[return}数组:vararr=new处理:处理围绕函数展开,一旦发生后,会根据类型调用相应函使用正则表达式验证:/正则表达式/.test(验证内容对于Javascript取得单选或复选框的内容,由于控件同名采取数组的方windowe.g打开新页面——open()方法打开子窗体,在子窗口可通过opener属性来操作父窗口对象XMLmetndedarkuplanguag——提供了一套跨平台,跨网内容管理等功能与HTML区别,都由SGML(standardgeneralmarkuplanguage)发展而来,html中的元素都是固定的且以显示为主,xml中标记由用户自定义,主要以保存数据为主所有的xml件都由前导区与数据区2分组成元素,但要求根元素必须有完结,每一个标记区分大小写;xml定义的属性必须使<![[CDATA[不解析内容]]>常用解析方式——SAX、DM Object通过DOM接口应用程序可在任意时候xml文档的任何一部分数据,也称随机机制,DOM分析器把整个xml文档转化成DOM树放在内存中,因此DOM对机器性能要求较高;DOM解析中4个接:代表整个xml文档,表示整棵树Node:在DOM中,每一个Node口代表了DOM中NodeList:表示一个节点的集NaedodeMap:表示一组节点和其唯一名称对应的一一对应关系,主要用于属性节点的表示DOM解析步骤BuilderFactory-- Builder-- -》SAX(SimpleAPIsfor采用一种顺序的模式,一种快速XML数据的方式,使用SAX析首先应编制一个SAX析器,再直接定义一个类,并使该类继承DefaultHandler类SAX采取部分方式,所以可处理大型文常用解析工具JDOM:使用Java言编写的、用于读写、操作xml件的一套组件;JDOM=DOM修改文件优点+SAX快速优点一组xmlxml使用Javascript操作HTMLHtml中通过Javascript进行DOMTomcat服务器的安装及配运行JavaWeb程序必须有相应Web容器支持,所有的动态程序代码都在Web容器中执行,Tomcat是一个web容静态请求的所有代码操作都是固定的,动态请求操作的所有代码都是拼凑的Tomcat是有Apache软件的Jakarta项目中的一个项目,有Apache、sun和其他一些公司及个人共同开使用Tomcat必须有JDKomct中主要文件夹:binconlibloebpp/work任何服务器都是依靠端进行的服务器修改 —— ——磁盘下建立文件夹、建立WEB-INF文件、web.xml文件,服务器端配置<Contextpath="/sjwin"docBase="url"/>修改conf/web.xml文件listings中false为true,重启Apache服 交互性在服务器端可以接受前页面输入的内容并进行显JSP基础语JSP释格式 格式3:<%--content显示注释:<!--content(2)<%!%>定义全局变量、方法、()<%=%>输出一个变量或一个具体的常量,与o.prinl()比较,使用前一种可以达到HTL与Java代码分离作用scriptlet:完成与<%%>同样功javascriptlet码Page指令:定义jsp面相关属性语法:<%@page属性="内容MIME(MultipurposeInternetMailExtensions)——指定某个扩展名文件将使用何种应用程序打开的一个/conf/web.xml查询MIME类pageEncoding与contentType设置编码区别pageEncoding指的是JSP文件本身编码,而contentType中的charset指的是服务器发送给客户端的错误页的设置指定错误出现时的跳转页,通过errorPage指错误处理页必须有明确的标识,通过isErrorPage确数据库连接操page指令中使用import导入Java开发包,直接使用此属性将java.sql包导数据库连接语publicstaticfinalStringpublicstaticfinalStringdburl="jdbc:odbc:web_test";publicstaticfinalStringdbuser="sa";publicstaticfinalStringConnectionconn=null;PreparedStatementpstmt=null;ResultSetrs=null;booleanflag=false;Stringname=null;Stringsql="selectnamefromuser1whereuserid=?andpassword=?";}}catch(Exceptione){}}catch(Exception}包含指将(导航栏)、页面头部、页面尾部分别做成一个文件,然后再需要的地方导入(包含静态包含:在JSP编译时插入一个包含文本或代码的文件(先包含后集中编译)语法:<%iclueile="rl"%>动态包含:可以自动区分被包含的页面是静态还是动态,静态页面则将内容包含进来,动态页面则先进行动态处理,在将结果包含进来语法:<jsp:includepage="{要包含的路径|<%=表达<jsp:paramname="参数名称"value="参数区别:一般推荐使用动态包含,避免重复变量问题,还可进行页面间参数传跳转指将一个用户请求从一个页面传递到另外一个页<jsp:forwardpage="{要包含的路径|<jsp:paramname="参数名称"value="参数JSP内置对JSPjavax.servlet.http.HttpServletRequest——得到用户的请求信息response——4request接受请求参数单一参数——一组参数——地址重写方式语法:动态页面地址?参数名称1=参数内容1&参数名称2=参数内容getpost使用get提交时提交内容会显示在地址栏之后;而使用post提交,提交内容不会显示在地址栏上,直接输入地址页面本身属于get提交方式,post只是应用在表单上的操作显示全部头部头信息:请求和回应的同时也会包含的一些其他信息(如客户端的IP、、语言等),此额外信息称头信角色验修改tomcat-users.xml文件、修改web.xml文在request中还可以取得客户端ip地址、路径信息、提交方式response对主要作用对客户端进行回应、将web服务器处理后的结果发回给客设置头信息:response.setHeader("refresh","2;URL=xxx.xxx"),在html中可实现同样功能<METAHTTP-EQUIV="refresh"CONTENT="3;URL=xxx.xxx">操浏览器所提供的一项技术,让服务器端的程序将一些只需保存在客户端或在客户端处理的数据放置在本地计算机中,不须通过网络的传输而提高了网页处理效率,减少服务器端负载;所有的 是由服务器端设置到客户端上去的服务器为明确区分每一个客户端,会自动设置一个JEIONID用以表示用户唯一标识;设置 保存时间采用etxAe()方法session对每一个session对象表示不同的用户取得sessionid:session.getId()可通过server.xml文件配置加入session保存判断新用户session.isNew(),是通过方式进行判断application对尽量使用this.getServletContext()来替代application对WEB安全性及config对存在于WEB- 中的程序安全性最高,WEB-INF中的文件须在web.xml中进行映射配config对如果JSP文件想要通过初始化参数取得一些信息,则一定要在web.xml文件中完成完成页面的输出操作,使用println()/print()输出信pageContext对表示一个页面的上下文,在编程中经常使用JavaBean简介:使用java语言开入一个可重用的组件,jsp开发中使用JavaBean减少重复代码,保持jsp代码web开 结构——WEB-jsp中导入JavaBean——1.<%@pageimport="package"%>2.<jsp:useBeanid="实例化对象名scope="保持范围class="包.类名称"/>自动加载JavaBean——<Contextpath="/sjwin"docBase="D:\jsweb"设置属<jp:etropery>——me:对应<jsp:ueBe>中的id属性,表示使用指定的JvBean;propery:要操作的属性,“”表示自动匹配取得属<jsp:getPropertyname="实例化对象名称(id)"property="属性名称JavaBean保存范page:保存在一页范围内,跳转后此JavaBean无效request:一个Javabean对象可以保存在一次服务器跳转的范围session:在一个用户的操作范围中保存,重新打开浏览器时才会新的JavaBean;DAO(DataAccessObject)设计模程序标准开发结构-->jsp/Servlet-->BO-->DAO--客户层:一般采用B/S开发结构,一般客户均采用浏览器显示层:使用J/erlet进行页面效果显示业务层:会将多个原子性的DAO进行组合,组合成一个完整的业务逻数据层:提供多个原子性的DAO操作,如增加、修改、删除都属于原子性O以接口为操作标准,客户端依靠AO实现的接口进行操作,而服务器将接口进行具体的实现;具体实现由以下几部分DatabaseConnection:专门负责数据库的打开与关闭操作O:主要由属性、eter、eter方法组成,O类中的属性与表字段相对应,每一个O类的对象都表示表中的每一条记录;DAO:主要定义操作的接口,定义一系列数据库的原子性操作标准,如增加、修改、删除、按ID4Impl:DAO接口的真正实现类,完成具体的数据库操作,但不负责数据库的打开和关闭;Factory:工厂类,通过工厂类取得一个DAO的实例化对象;文件上smartUpload上传组件mrUpload是由 开发的一套上传组件包,可实现文件的上传及功能,实现上传文件类型的限制以及获取上传文件名称、后缀、大小;FileUpload是Apache组织提供的免费上传组件,FileUpload组件本身还依赖Commons组件包,时要连Commons组件IOFileUpload上传基本步骤创建磁盘工厂:DiskFileItemFactoryfactory=new创建处理工具:ServletFileUploadupload=new设置上传文件大小 接受全部内容开发FileUpload组件的专属操作Servlet程序开Servlet简介erle(服务器端小程序),使用Java语言编写的服务器端程序,可生成动态web页。erlet主要运行在服务器端,并由服务器调用执行,采用多线程处理方式,主要用于处理客户端传来的Htp请求,并返回响应。Servlet处理基本流程客户端(一般为web浏览器)通过HTTP提出请Web服务器接收该请求并将请求发送给erle,如果erlet尚未加载,Web服务器将把它加载到Java虚拟机并执行它;Servlet程序将接收该HTTP请求并执行某种处Servlet会将处理后的结果向web服务器返回应答Web服务器将从Servlet收到的应答发回给客户程序接口实现——Servlet<--GenericServlet<--HttpServletServletServlet序编译完成后应进行映射配置,可配置多个路径名称;Servlet生命周期——加载程序、初始化、服务、销毁、Web开发模式Mode1——客户端<-->JSP<-->JavaBean分2种(1)完全使用JSP开发(2)JSP+JavaBean模Mode2:Mode-View-所有的开发以erlet为主体展开、由erlet接收所有客户端请求,然后根据请求调用相应的JBen,并将所有的显示交给JSP完成MVC模式强制性的使应用程序输入、处理和输出分开,他被分为3显示层——主要负责接收Servlet传递内容,并且调用JavaBean,将内容显示给用户控制层——主要负责所有的用户请求参数,判断参数是否合法,根据请求类型调用JaBean执行操作并将最终的处理结果交由显示层进行显示模型层——完成一个独立的业务操作组件,一般以JavaBean或EJB的形式定义注:JB(nerprieJaBean)是UN提供的一种分布式组件技术、主要负责业务中心的编写,分为会话Bea、实体Bea、消息驱动Bea3种JSP中最好只包含3种代接收属性:接收从Servlet传递过来的判断语句:判断传递到JSP中的属性是否存输出内容:使用迭代或者VO进行输过滤Servlet从使用功能上分为:简单Servlet、过滤Servlet和Servlet三Filer是在erlet.3之后新增的功能,当需限制用户某些资源或者请求处理时提前处理某些资源-->过滤器2Web资源器负责Web的,当相关的触发后将产生,并对此进行处理对application:主要使用ServletContextListener和 istener两个接对session:主要使用HttpSessionListener、 istenerHttpSessionBindingListener接对request:主要使用ServletRequestListener和 istener两个接关于不同Servlet的配置顺先配置过滤器:<filter><filter-map再配置器最后配置简单Servlet:<servlet><servlet-map表达式语表达式语言简EL(ExpressionLanguage)是JSP2.0中新增的功能,可方便的标志位中的属性内容,避免过多的scriptlet代语法:${属性名称调用内置对象操作:可通过pageContext这个表达式内置对象调用JSP内置对象中提供的方接收参数${param.参数名称接收一组参数${paramValues.参数名称在MVC中应用表达式语言——直接通过反射的方式调用保存在属性范围中的Java对象运算符1.算术运算符+、-、*、/、div、%、关系运算符==、eq、!=、ne、<、lt、>、gt、<=、le、>=、逻辑运算符&&、and、||、or、!、其他运算符empty、Tomcat数据JDBC工作原加载数据库驱动程序,数据库驱动程序通过classpath配通过DriverManager类取得数据库连接对通过Connection实例化PreparedStatement对象,编写SQL命令操作数据数据库属于资源操作,操作完成后要关闭数据库以释放资数据源操作原理,在一个对象池中保存多个数据库连接(Coecionool),以后进行数据库操作时直接从连接池中取出一个数据库连接,当数据库操作完成后,再将此连接放回数据库连接池中,以供其他用户使用Tomcat中数据库连接池的使用客户端通过JNDI(JavaNamingandDirectoryInterface)查询其绑定的一个名词取得DataSource并且通过DataSource取得ConnectionPool中保存的一个数据库连接。查找数据源步初始化名称查找上下文:Contextctx=new通过名称查找DataSource对象:DataSourceds=(DataSource)ctx.lookup(JNDI名称通过Datasource取得一个数据库连接:Connection注:数据源操作时要使用JNDI进行查找、查找时需指定java:comp/env环境编程的主要目的是为了减少页面中的Scriptlet代码,使程序更加便于理解修改实现一个可直接继承javax.servlet.jsp.tagext.TagSupport类,如果定义的内无体,则直接覆TagSupport类中的doStartTag()方法描述文件(TagLibraryDescriptor,TLD),*.tld文件中描述的名称、简介、处理类及使用到的各个属性在JSP中调用语法<%@taglibprefix="前缀"uri="TLD文件路径/映射开发包括如下几部分处理描述JSP页在web.xml中配置映射定义有属性的<attribute>:表示定义一个所具备的属性,一个<tag>中可定义多个属<name>:属性名<required>:true表示必须设置,false为可<rtexprvalue>:是否支持表达式输出,true表示支持TagSupport类中主要doStartTag():开始时执行doAfterBody():此方法是 tionTag接口与Tag接口差别所在,用来重复执行体内容doEndTag():此方法在结束时执release():将处理类所产生的或是获得的资源全部释<body-content>元素的主要功能是指定体的类型,取值如下empty:没有JSP:体可以包含文本,EL,或JSP,但对简单无效scriptless:可包含文本、EL表达式、JSP、但不能包含JSP元素tagdependent:表示体交由本身去解析处理JSP标准JSTL(JSPStandardTagLibrary)简安装JSTL——、解压、配置、映射;库SQL库:<sql:setDataSource>/<sql:query>/<sql:update>/<sql:transaction>进行sql操作可以通过<sql:setDataSource>来设定数据源(DataSource)取出数据表的具体信息通过5种属性XML库函数函数库大部分操作用于处理字符串,类似于String类中提供的各种方${fn:join()}/${fn:eacapeXml()}/${fn:trim()}/${fn:rece()}/${fn:indexOf()}/${fn:substringBefore()}/${fn:substringAJAX开发技Ajax(AsynchronousJavascriptandXML)——主要用于网页的局部刷新,ajax术不仅用于Java在PHP、ASP.NET都已很好的支持Ajax技术。Ajax中主要通过XMLHttpRequest对象处理发送异步请求和回XMLHttpRequest对象属性onreadystatechange——指定当前readState状态改变时操作,一般用于指定具体的回调函readyState——返回当前请求状态、只responseBody——将回应信息正文unsignedbyte数组形式返回,只读responseStream——以AdoStream对象形式返回响应信息,只读 ML——接收以XML档形式回应的数据,只读status——返回当前请求的http状态码,只读readyState共有5种取值0——请求未发1——请求已经建立但还未发2——请求已经发出正在处理3——请求已经处理,正在接受服务器信息,响应中通常有部分数据可用,但服务器还没有完成4——响应已完成,可以服务器响应并使用XMLHttpRequest对象方getAllResponseHeaders()——取得所有放入HTTP信息getResponseHeader()——取得一个指定的HTTPopen()——创建一个HTTP请求,并指定请求模式,如GET请求或POST请求setRequestHeader()——设置一个指定请求的HTTP信息Struts基础开Struts是Apache基金组织中一开源项目,主要实现MVC设计模式,控制器为配置:Struts开发包,拷贝lib下的*.jar包,配置struts-config.xml文<form-beans>:用于配置<global-exceptions>:用于配置全局<global-forwards>:用于配置全局跳<action-maps>:用于配置配置资源文件时(*.properties)由于其不支持中文,此处需将其改为UNICODE编码,可利用JDK中自native2ascii工具进行ActionForm类中方法publicActionErrorsvalidate(ActionMapmap,HttpServletRequestpublicvoidreset(ActionMapmap,HttpServletRequestAction类中的方publicActionForwardexecute(ActionMapmap,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throesExceptionprotectedvoidsaveErrors(HttpServletRequestrequest,ActionMessageprotectedvoidsaveMessages(HttpServletRequestrequest,ActionMessagespublicActionForwardfindForward(StringpublicActionForwardstruts-config.xml配<form-bean>:表示配置的每一个ActionForm,name性ActionForm称,type性ActionForm<cio>:表示每一个cio,tribte和那么属性指定此cion使用的cioForm名称,iput表示当验证出错时跳转的显示页,pth此cion对应的路径scope此Action作用的范围(request和session2种),type此Action对应包.类名Struts工作原在web.xml中为ActionServlet配置一个映射路径,一般都为当一个jsp页面执行时,如果用的是Html定义的表单会根据action指定的路径与struts-config.xml文件中的在运行一个jsp页面前会调用指定ActionForm中的reset()方法,进行表单元素的初始化操用户提交表单时会将所有的操作都提交到ActionServlet(有*.do指定)中,之后有ActionServlet根据struts-config.xml文件中的配置调用指定的ActionForm和Action进行处理表单提交的数据首先会交给ActionForm处理,并自动调用其中的validate()方法进行验证,如果验证成功则交给Action进行处理,如果验证失败,则跳转到提交Action中配置的input属性中指定的页面路径,此时可以通过<html:errors>显示所有的错误信Action负责完成具体的业务操作,并根据操作的结果通过ActionMap进行跳转,ActionMapfindForward()方法返回一个ActionForward对象完成跳Struts常用Jstl与Struts可以混Struts库简介Bean:管理JSP页面中的Bean操作Html:显示,主要生成HTML标记NESTED:使用嵌套进行复杂的页面显Struts高级开Struts多人开发:每个开发者分配一个struts-config-*.xml,再通过web.xml进行服务器上配oe:主要以一种指令牌的形式进行重复的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考物理复习专题1物理学史估测题课件
- 冀少版八年级生物上册第三单元第一节种子萌发的过程课件
- 幼儿印染课件教学课件
- 第四节区域经济联系教案
- 《建筑材料》教案
- 住宅小区电梯安装招标细则须知
- 绵阳市羽毛球馆租赁合同
- 印刷厂操作员聘用协议
- 教育资源共享办法
- 福州市停车场突发事件应急预案
- 《生物化学》本科课件第12章+核酸通论
- 2022小学新课程标准《语文》
- 增强对外话语主动提升国际传播能力PPT高度重视网络对外传播切实提升国际话语主动权PPT课件(带内容)
- 垃圾电厂专用语中英文对照手册
- 第7章模拟电路(杨素行)课件
- 砼试块同条件、标养留置方案
- 一年级上册认字闪卡PPT课件
- 教师说课教学 模板PPT (212)
- (高清版)JGJ340-2015建筑地基检测技术规范
- 农产品市场营销培训(共66页).ppt
- 陕西省建筑工程施工通用表格、控制资料 (全套)
评论
0/150
提交评论