jsp程序设计-复习重点_第1页
jsp程序设计-复习重点_第2页
jsp程序设计-复习重点_第3页
jsp程序设计-复习重点_第4页
jsp程序设计-复习重点_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 开发JSP程序所需的开发环境及各自作用:1.Web浏览器:用于客户端用户访问Web应用的工具2.Web效劳器:只有将开发的Web工程放置到该容器中,才能使网络中的所有用户通过浏览器进展访问。如ApacheTomcat3.JDK:包括运行Java程序所必须的JRE环境及开发过程中常用的库文件。4.数据库:用来存储工程中需要的信息。2. 字符串处理:例:StringstrA=newString(“让我们的明天会更好!);StringstrB=平平淡淡才是真!out.println(strA.substring(4,6);out.println(strB.string(4,strB.lengt

2、h();/输出结果是:明天才是真3. 在表单提交中文信息时,应在对应Servlet中添加如下代码:requesrt.setCharacterEncoding(gb2312)4. JAVABean的分类:1可视化JavaBean2不可视JavaBean不可视JavaBean分为值JavaBeanDX具JavaBean值JavaBean严格遵循了JavaBean!勺命名规,通常用来封装表单数据,作为信息的容器。JavaBean根据特殊的规编写的普通的Java类,可称它们为“独立的组件。每一个JavaBean现一个特定的功能,最大优点就是充分提高了代码的可重用性。通常一个标准的JavaBean遵循以

3、下规:1实现java.io.SerializableH口;2是一个公共类;ZE一个公共类;3类中必须存在一个无参数的构造函数;4提供对应的setXxx()和getXxx()方法来存取类中的属性5. Servlet的生命周期:第一步:用户通过客户端浏览器请求效劳器,效劳器加载Servlet,并创立一个Servlet实例;第二步:容器调用Servlet的init()方法;第三步:容器调用service。方法,并将ServletRequest和ServletResponse对象传递给该方法,在service。方法中处理用户请求;第四步:在Servlet中请求处理完毕后,将结果返回给容器;第五步:容器

4、将结果返回给客户端进展显示;第六步:当Web器关闭时,调用destroy。方法销毁Servlet实例。Servlet与JSP的区别:Servlet是运行在效劳器端运行的Java程序;JSP是一种脚本语言;6. Servlet是在JSP之前就存在的运行在效劳端的一种Java技术.Servlet主要用于处理请求,并将处理的结果传递给浏览器生成动态Web页面。Servlet具有可移植,功能强大、平安、可扩展和灵活等优点。与JSP的区别:1编程方式不同;2Servlet必须在编译以后才能执行;3运行速度不同。7. JSP是运行在效劳器端的脚本语言之一,是用来开发动态网页的一种技术。8. JSP的处理过

5、程:1.客户端通过浏览器向效劳器发出请求,在该请求中包含了请求的资源的路径,这样当效劳器接收到该请求后就可以知道被请求的资源。2.效劳器根据接收到的客户端的请求来加载被请求的JSP文件。3.Web效劳器中的JSP引擎会将被加载白JSP文件转化为Servlet4.JSP引擎将生成的Servlet代码编译成Class文件。5.JSP引擎将生成的Servlet代码编译成Class文件。6.效劳器将执行结果发送给浏览器进展显示9. JSP的三种指令标识:a) import属性外,其他属性只能在指令中出现一次。重要属性:language设置当前页面中JSP脚本使用的语言,默认Java;import导入包

6、;session是否支持session默认支持;errorPage/isErrorPage:异常及异常处理页面;例如:Index.jsp页面中:Error.jsp中:出现错误!错误如下:b) 如果该属性值以“/开头,那么指定的是一个绝对路径,将在当前应用的根目录下查找文件;如果是以文件名称或文件夹名开头,那么指定的是一个相对路径,将在当前页面的目录下查找文件。c) 例如:10. JSP的注释:HTML中的注释:带有JSP表达式的注释:!-comment-隐藏注释:脚本程序Scriptlet中的注释:单行,多行/*/11. JSP的脚本标识:JSP表达式:用于向页面中输出信息,声明标识:可以声明

7、变量或方法脚本程序:12. JSP的动作标识:1) 用于向当前页面中包含其他文件,动态静态文件均可。2) /向动态的目标文件传递参数注:转发与重定向的区别:进展请求转发时,存储在request对象中的信息会被保存并被带到目标页面中;而请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。3) 在页面中使用标识来实例化一个Bean实例后,可以通过属性来设置或修改该Bean中的属性,或者通过标识来读取该Bean中指定的属性。4) 5) 13. 动作标识与include指令的差异:1) 属性:include指令将file属性

8、值看作一个实际存在的文件的路径,所以该属性不支持任何表达式2) 处理方式:使用include指令被包含的文件,它的容会原封不动地插入到包含页中使用该指令的位置,然后JS喻译器再对这个合成的文件进展翻译。所以最终编译后的文件只有一个;使用动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为效劳器执行的是两个文件,所以JSP编译器会分别对这两个文件进展编译。3)包含方式:include指令最终效劳器执行的是将两个文件合成后由JSP编译器编译成的一个Class文件,这种包含过程称为静态包含;动作标识被执行时,使用该识

9、包含的目标文件才会被编译,否那么被包含的文件不会被编译,所以这种包含过程称为动态包含。14. JSP的置对象1) Request,是从客户端向效劳器发出请求,包括用户提交的信息以及客户端的一些信息。具体应用:b)访问请求参数:StringuserName=request.getParameter(name);c)在作用域中管理属性:request.setAttribute(name,obj);request.getAttribute(Stringname);例如:使用request对象的setAttribute()方法设置数据,然后在请求转发后取得设置的数据。例:。在error.jsp中out

10、.println(错误提示信息为:+request.getAttribute(error);d)获取cookie:Cookiecookie=request.getCookies();例如:使用request对象的addCookie()方法实现记录本次及上一次访问网页的时间。%Cookiecookies=request.getCookies();Cookiecookie_response=null;if(cookies!=null)cookie_response=cookies0;out.println(本次访问时间:+newjava.util.Date()+);if(cookie_respon

11、se!=null)/输出上一次访问的时间。并设置cookie_response对象为最新时间。out.println(上一次访问时间:+cookie_response.getValue();cookie_response.setValue(newjava.util.Date().toString();/如果Cookies集为空,创立cookie,并参加到response中if(cookies=null)cookie_response=newCookie(AccessTime,);cookie_response.setValue(newjava.util.Date().toString();re

12、sponse.addCookie(cookie_response);%1) Response,用于响应客户请求,向客户端输出信息。a)重定向网页:response.sendRedirect(login_ok.jsp);sendError(近法可指明错误状态。例如:b)设置响应报头:response.setContentType“(text/html)2) Session,与请求有关的会话期,使效劳器和客户端之间的连接就会一直保持下去,但是在一定时间系统默认在30min,如果客户端不向效劳器发出应答请求,session对象就会自动消失。a) 创立及获取客户的会话:使用setAttribute()

13、和getAttribute()方法b) 从会话中移除指定对象:session.removeAttribute(Stringname);例如:session.setAttribute(information,向session中保存数据);response.sendRedirect(forward.jsp);在forword.jsp中:session.removeAttribute(information);c) 销毁session用session.invalidate();3) Application,对象用于保存所有应用程序中的公有数据,效劳器启动并且自动创立application对象后,只要

14、没有关闭效劳器,application对象将一直存在,所有用户可以共享application对象。application对象与session对象有所区别,session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是一样的一个对象,即共享这个置的application对象。可以用于网页计算器:4) Out,主要用来向客户端输出各种数据类型的容,并且管理应用效劳器上的输出缓冲区。15. JavaBean技术的应用:值JavaBean:例:在登录页面表单中有与已创立的JavaBean属性相对应的字段:转发到一下处理页面,用值JavaBean展处理

15、:用户名:密码:工具JavaBean:publicclassMyToolspublicstaticStringchange(Stringstr)str=str.replace(,>);returnstr;/将进展转换inti=0;i=Integer.parseInt(str)/将String转换为int解决中文乱码:publicstaticStringtoChinese(Stringstr)if(str=null)str=;try/通过String类的构造方法将,指定的字符串转换为“gb2312编码str=newString(str.getBytes(ISO-8859-1),gb2312

16、);16. Servlet技术:1) 创立Servlet的步骤: 1继承Servlet抽象类。 2重载适当的方法,如覆盖或称为重写doGet()方法或doPost()方法。 3如果有请求信息的话,获取该信息。可通过调用ServletRequest类对象的getParameter(防法获取请求信息 4生成响应。ServletRespons联对象生成响应简单的实例:publicclassMyServletextendsServletpublicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throwsServletException

17、,lOExceptionresponse.setContentType(text/html;charset=gb2312);PrintWriterout=response.getWriter();out.println(保护环境!保护地球!);2) Web.xml文件的配置:web-appMyServlet.MyServlet10启动装入优先权,小者优先MyServlet/textServlet17. 数据库相关知识:1)连接数据库的步骤:a)加载JDBC驱动程序通过静态方法forName(StringclassName陕现b)创立数据库连接Connectionconn=DriverManag

18、er.getConnection()c)执行SQL语句但是通过Connection实例并不能执行SQL语句,还需要通过Connection实例创立Statement实例,Statement实例又分为以下3种类型:1Statement实例:该类型的实例只能用来执行静态的SQL语句;2PreparedStatement实例:该类型的实仞用于执行动态SQL语句的功能3CallableStatementX寸象:该类型的实例用于执行数据库存储过程的功能。d)获得查询结果如果执行的是executeUpdate(方法,将返回一个int型数值,代表影响数据库记录的条数,即插入、修改或删除记录的条数;如果执行的

19、是executeQuery()方法,将返回一个ResultSet型的结果集,其中不仅包含所有满足查询条件的记录,还包含相应数据表的相关信息e)关闭连接通过各个实例的close()方法2)连接SQL数据库实例:%StringdriverClass=.microsoft.jdbc.sqlserver.SQLServerDriver;Stringurl=jdbc:microsoft:sqlserver::1433;DatabaseName=db_database08;Stringusername=sa;Stringpassword=;Class.forName(driverClas

20、s);Connectionconn=DriverManager.getConnection(url,username,password);Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery(select*fromtb_user);while(rs.next()out.println(用户名:+rs.getString(2)+密码:+rs.getString(3);rs.close();stmt.close();conn.close();%18.AjaxAjax=异步Javascript和XML,是一种用于创立快速

21、动态网页的技术。通过在后台与效劳器进展少量数据交换,AJAX可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某局部进展更新。XMLRequest是AJAX的根底,用于在后台与效劳器交换数据。Varxml=newActiveXObject(Microsoft.XML);常用方法:open(method,url,async)send()onreadystatechange存储函数或函数名,每当readyState属性改变时,就会调用该函数。readyState存有XMLRequest的状态。0:请求未初始化1:效劳器连接已建立2:请求已接收3:请求处理中4:请求已完成,且

22、响应已就绪status200:OK404:未找到页面responseText效劳器的响应,表示为字符串responseXML效劳器的响应,表示为XML,这个对象可以解析升-个DOM对象搭建Ajax开发框架实例:scriptlanguage=javascriptvar_request=false;functioncreateRequest(url)_request=false;try_request=newActiveXObject(Msxml2.XML);catch(e)try_request=newActiveXObject(Microsoft.XML);catch(e)_request.o

23、nreadystatechange=getResult;/倜用返回结果处理函数_request.open(POST,url,true);_request.send();/返回结果处理函数functiongetResult()if(_request.readyState=4)/判断请求状态if(_request.status=200)/请求成功,开场处理返回结果answer.innerHTML=_request.responseText;else/请求页面有错误alert(您所请求的页面有错误!);这是一生中难彳#的时机。汉译英19. Cookie:1) Cookie的格式:Set-Cookie

24、:Name=Value;Comment=value;Domain=value;Max-Age=value;Path=Value;2) 创立cookie:response.add(cookie)例如:Stringpass=request.getParameter(upass);Stringuname=request.getParameter(uname);finalStringsSession=uname+:+pass;Cookieoltem=newCookie(SSO,sSession);/oItem.setDomain(.my.);/域oItem.setMaxAge(14*24*60*60)

25、;/秒;0/-1oItem.setPath(/bbs);/域下的路径response.addCookie(oltem);3) 获取cookie:request.getCookies得到的是一个cookie数组获取以上设置的cookie:Cookiecookie=request.getCookies();Stringupass,uname;Strings=null;Cookieucookie;for(inti=0;icookie.length;i+)if(cookiei.getName().equals(SSO)s=cookiei.getValue();4) 销毁cookie将age设置为0即可

26、:setMaxAge(0)20. EL表达式:$expression通过表达式语言调用JavaBean中的属性值或方法的代码:$$dao.getName()21. JSTL标准标签库重点介绍核心标签库的5中标签库1) 表达式标签:a) 标签:用于将计算的结果输出到JSP页面中例如:escapeXml属性值为false时:c:outvalue=escapeXml=false/escapeXml属性值为true时:c:outvalue=/第一种语法格式:第二种语法格式:name的值为空b) 标签:用于定义和存储变量c) 标签:可以从指定的JSP围中移除指定的变量2) 条件标签:(a) 标签:在scope围,判断test并将条件的判断结果保存在var属性指定的变量中c:iftest=conditionvar=namescope=page|request|session|application例如:/输出false请输入用户名:(b) 标签,语法:例如:6&hours上午好!1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论