您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > jsp程序设计-复习重点
1.开发JSP程序所需的开发环境及各自作用:1.Web浏览器:用于客户端用户访问Web应用的工具2.Web服务器:只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。如ApacheTomcat。3.JDK:包括运行Java程序所必须的JRE环境及开发过程中常用的库文件。4.数据库:用来存储项目中需要的信息。2.字符串处理:例:StringstrA=newString(“让我们的明天会更好!”);StringstrB=”平平淡淡才是真!”out.println(strA.substring(4,6);out.println(strB.string(4,strB.length()));//输出结果是:明天才是真3.在表单提交中文信息时,应在对应Servlet中添加如下代码:requesrt.setCharacterEncoding(“gb2312”)4.JAVABean的分类:(1)可视化JavaBean(2)不可视JavaBean;不可视JavaBean又分为值JavaBean和工具JavaBean。值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。JavaBean是根据特殊的规范编写的普通的Java类,可称它们为“独立的组件”。每一个JavaBean实现一个特定的功能,最大优点就是充分提高了代码的可重用性。通常一个标准的JavaBean需遵循以下规范:(1)实现java.io.Serializable接口;(2)是一个公共类;(3)类中必须存在一个无参数的构造函数;(4)提供对应的setXxx()和getXxx()方法来存取类中的属性5.Servlet的生命周期:第一步:用户通过客户端浏览器请求服务器,服务器加载Servlet,并创建一个Servlet实例;第二步:容器调用Servlet的init()方法;第三步:容器调用service()方法,并将HttpServletRequest和HttpServletResponse对象传递给该方法,在service()方法中处理用户请求;第四步:在Servlet中请求处理结束后,将结果返回给容器;第五步:容器将结果返回给客户端进行显示;第六步:当Web器关闭时,调用destroy()方法销毁Servlet实例。Servlet与JSP的区别:Servlet是运行在服务器端运行的Java程序;JSP是一种脚本语言;6.Servlet是在JSP之前就存在的运行在服务端的一种Java技术.Servlet主要用于处理Http请求,并将处理的结果传递给浏览器生成动态Web页面。Servlet具有可移植,功能强大、安全、可扩展和灵活等优点。与JSP的区别:(1)编程方式不同;(2)Servlet必须在编译以后才能执行;(3)运行速度不同。7.JSP是运行在服务器端的脚本语言之一,是用来开发动态网页的一种技术。8.JSP的处理过程:1.客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的资源。2.服务器根据接收到的客户端的请求来加载被请求的JSP文件。3.Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet。4.JSP引擎将生成的Servlet代码编译成Class文件。5.JSP引擎将生成的Servlet代码编译成Class文件。6.服务器将执行结果发送给浏览器进行显示9.JSP的三种指令标识:a)%@pageattribute1=value1attribute2=value2…%;Page指令中除import属性外,其他属性只能在指令中出现一次。重要属性:language:设置当前页面中JSP脚本使用的语言,默认Java;import:导入包;session:是否支持session,默认支持;errorPage/isErrorPage:异常及异常处理页面;例如:Index.jsp页面中:%@pagecontentType=text/html;charset=gb2312errorPage=error.jsp%%Stringname=YXQ;Integer.parseInt(name);//将字符串转化为int型%Error.jsp中:%@pagecontentType=text/html;charset=gb2312isErrorPage=true%出现错误!错误如下:br%=exception.getMessage()%b)%@includefile=文件的绝对路径或相对路径%如果该属性值以“/”开头,那么指定的是一个绝对路径,将在当前应用的根目录下查找文件;如果是以文件名称或文件夹名开头,那么指定的是一个相对路径,将在当前页面的目录下查找文件。c)%@tagliburi=tagURIprefix=tagPrefix%例如:%@tagliburi==c%10.JSP的注释:HTML中的注释:!--注释内容--带有JSP表达式的注释:!--comment%=expression%--隐藏注释:%--注释内容--%脚本程序(Scriptlet)中的注释:单行//,多行/**/11.JSP的脚本标识:JSP表达式:用于向页面中输出信息,%=%声明标识:可以声明变量或方法%!声明变量或方法的代码%脚本程序:%Java程序片段%12.JSP的动作标识:1)jsp:includepage=被包含文件的路径flush=true|false/用于向当前页面中包含其他文件,动态静态文件均可。2)jsp:forwardpage=文件路径|表示路径的表达式/jsp:paramname=参数名称valude=参数值///向动态的目标文件传递参数注:转发与重定向的区别:进行请求转发时,存储在request对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。3)jsp:useBeanid=ustype=com.Bean.UserInfoscope=session/在页面中使用jsp:useBean标识来实例化一个Bean实例后,可以通过jsp:setProperty属性来设置或修改该Bean中的属性,或者通过jsp:getProperty标识来读取该Bean中指定的属性。4)jsp:setProperty5)jsp:getProperty13.jsp:include动作标识与include指令的差异:1)属性:include指令将file属性值看作一个实际存在的文件的路径,所以该属性不支持任何表达式2)处理方式:使用include指令被包含的文件,它的内容会原封不动地插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行翻译。所以最终编译后的文件只有一个;使用jsp:include动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是两个文件,所以JSP编译器会分别对这两个文件进行编译。3)包含方式:include指令最终服务器执行的是将两个文件合成后由JSP编译器编译成的一个Class文件,这种包含过程称为静态包含;jsp:include动作标识被执行时,使用该识包含的目标文件才会被编译,否则被包含的文件不会被编译,所以这种包含过程称为动态包含。14.JSP的内置对象1)Request,是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。具体应用:b)访问请求参数:StringuserName=request.getParameter(name);c)在作用域中管理属性:request.setAttribute(name,obj);request.getAttribute(Stringname);例如:使用request对象的setAttribute()方法设置数据,然后在请求转发后取得设置的数据。例:%request.setAttribute(error,很抱歉!您输入的用户名或密码不正确!);%jsp:forwardpage=error.jsp/。在error.jsp中out.println(错误提示信息为:+request.getAttribute(error));d)获取cookie:Cookie[]cookie=request.getCookies();例如:使用request对象的addCookie()方法实现记录本次及上一次访问网页的时间。%Cookie[]cookies=request.getCookies();Cookiecookie_response=null;if(cookies!=null){cookie_response=cookies[0];}out.println(本次访问时间:+newjava.util.Date()+br);if(cookie_response!=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());response.addCookie(cookie_response);}%1)Response,用于响应客户请求,向客户端输出信息。a)重定向网页:response.sendRedirect(login_ok.jsp);sendError()方法可指明错误状态。例如:%request.setCharacterEncoding(gb2312);Stringusername=request.getParameter(username);Stringpwd=request.getParameter(pwd);if(!username.equals()&&!pwd.equals()){//验证是否为空response.sendRedirect(login_ok.jsp);}else{response.sendError(500,请输入登录验证信息);}%b)设置HTTP响应报头:response.setContentType(“text/html”)2)Session,与请求有关的会话期,使服务器和客户端之间的连接就会一直保持下去,但是在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,session对象就会自动消失。a)创建及获取客户的会话:使用setAttribute()和getAttribute()方法b)从会话中移除指定对象:session.removeAttribute(Stringname);例如:session.setAttribute(information,向session中保存数据);response.sendRedirect(forward.jsp);在forword.jsp中:session.removeAttribute(information);c)销毁session:用session.invalidate();3)Application,对象用于保存所有应用程序中的公有数据,服
本文标题:jsp程序设计-复习重点
链接地址:https://www.777doc.com/doc-4543305 .html