《jsp程序设计-复习重点》由会员分享,可在线阅读,更多相关《jsp程序设计-复习重点(9页珍藏版)》请在金锄头文库上搜索。
1、1. 开发JSP程序所需的开发环境及各自作用:1.Web浏览器:用于客户端用户访问Web应用的工具 2.Web服务器:只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。如Apache Tomcat。3.JDK:包括运行Java程序所必须的JRE环境及开发过程中常用的库文件。4. 数据库:用来存储项目中需要的信息。2. 字符串处理: 例:String strA=new String(“让我们的明天会更好!”);String strB=”平平淡淡才是真!”out.println(strA.substring(4,6);out.println(strB.string(4
2、,strB.length();/输出结果是:明天 才是真3. 在表单提交中文信息时,应在对应Servlet中添加如下代码:requesrt.setCharacterEncoding(“gb2312”)4. JAVABean的分类:(1)可视化JavaBean(2)不可视JavaBean;不可视JavaBean又分为值JavaBean和工具JavaBean。值JavaBean严格遵循了JavaBean的命名规范,通常用来封装表单数据,作为信息的容器。 JavaBean是根据特殊的规范编写的普通的Java类,可称它们为“独立的组件”。每一个JavaBean实现一个特定的功能,最大优点就是充分提高了
3、代码的可重用性。通常一个标准的JavaBean需遵循以下规范:(1)实现java.io.Serializable接口;(2)是一个公共类;(3)类中必须存在一个无参数的构造函数;(4)提供对应的setXxx()和getXxx()方法来存取类中的属性5. Servlet 的生命周期:第一步:用户通过客户端浏览器请求服务器,服务器加载Servlet,并创建一个Servlet实例;第二步:容器调用Servlet的init()方法;第三步:容器调用service()方法,并将HttpServletRequest和HttpServletResponse对象传递给该方法,在service()方法中处理用户
4、请求;第四步:在Servlet中请求处理结束后,将结果返回给容器;第五步:容器将结果返回给客户端进行显示;第六步:当Web器关闭时,调用destroy()方法销毁Servlet实例。 Servlet与JSP的区别:Servlet是运行在服务器端运行的Java程序;JSP是一种脚本语言;6. Servlet是在JSP之前就存在的运行在服务端的一种Java技术.Servlet主要用于处理Http请求,并将处理的结果传递给浏览器生成动态Web页面。Servlet具有可移植,功能强大、安全、可扩展和灵活等优点。与JSP的区别:(1)编程方式不同;(2)Servlet必须在编译以后才能执行;(3)运行速
5、度不同。7. JSP是运行在服务器端的脚本语言之一,是用来开发动态网页的一种技术。8. JSP的处理过程:1.客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的资源。2. 服务器根据接收到的客户端的请求来加载被请求的JSP文件。3. Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet。4. JSP引擎将生成的Servlet代码编译成Class文件。5. JSP引擎将生成的Servlet代码编译成Class文件。6. 服务器将执行结果发送给浏览器进行显示9. JSP的三种指令标识:a) ;Page指令中除import
6、属性外,其他属性只能在指令中出现一次。重要属性:language:设置当前页面中JSP脚本使用的语言,默认Java;import:导入包;session:是否支持session,默认支持;errorPage/isErrorPage:异常及异常处理页面;例如:Index.jsp页面中:Error.jsp中:出现错误!错误如下:b) 如果该属性值以“/”开头,那么指定的是一个绝对路径,将在当前应用的根目录下查找文件;如果是以文件名称或文件夹名开头,那么指定的是一个相对路径,将在当前页面的目录下查找文件。c) 例如:10. JSP的注释:HTML中的注释:带有JSP表达式的注释:!- comment
7、-隐藏注释 :脚本程序(Scriptlet)中的注释 :单行/,多行/*/11. JSP的脚本标识:JSP表达式:用于向页面中输出信息,声明标识: 可以声明变量或方法脚本程序:12. JSP的动作标识:1) 用于向当前页面中包含其他文件,动态静态文件均可。2) /向动态的目标文件传递参数注:转发与重定向的区别: 进行请求转发时,存储在request对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个request请求,然后将该请求重定向到指定的URL,所以事先存储在request对象中的信息都不存在了。3) 在页面中使用标识来实例化一个Bean实例后,可以通过属性来设置或修改该B
8、ean中的属性,或者通过标识来读取该Bean中指定的属性。4) 5) 13. 动作标识与include指令的差异:1) 属性:include指令将file属性值看作一个实际存在的文件的路径,所以该属性不支持任何表达式2) 处理方式:使用include指令被包含的文件,它的内容会原封不动地插入到包含页中使用该指令的位置,然后JSP编译器再对这个合成的文件进行翻译。所以最终编译后的文件只有一个;使用动作标识包含文件时,当该标识被执行时,程序会将请求转发到被包含的页面,并将执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。因为服务器执行的是两个文件,所以JSP编译器会分别对这两个文件进行编译
9、。3) 包含方式:include指令最终服务器执行的是将两个文件合成后由JSP编译器编译成的一个Class文件,这种包含过程称为静态包含;动作标识被执行时,使用该识包含的目标文件才会被编译,否则被包含的文件不会被编译,所以这种包含过程称为动态包含。14. JSP的内置对象 1) Request, 是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。具体应用:b) 访问请求参数:String userName = request.getParameter(name);c) 在作用域中管理属性:request.setAttribute(name,obj); request.getA
10、ttribute(String name);例如:使用request对象的setAttribute()方法设置数据,然后在请求转发后取得设置的数据。例:。在error.jsp中out.println(错误提示信息为:+request.getAttribute(error);d) 获取cookie: Cookie cookie = request.getCookies();例如:使用request对象的addCookie()方法实现记录本次及上一次访问网页的时间。%Cookie cookies=request.getCookies();Cookie cookie_response=null;if
11、(cookies!=null) cookie_response=cookies0;out.println(本次访问时间:+new java.util.Date()+);if(cookie_response!=null) /输出上一次访问的时间。并设置cookie_response对象为最新时间。 out.println(上一次访问时间:+cookie_response.getValue(); cookie_response.setValue(new java.util.Date().toString(); /如果Cookies集为空,创建cookie,并加入到response中if(cooki
12、es=null)cookie_response=new Cookie(AccessTime,); cookie_response.setValue(new java.util.Date().toString(); response.addCookie(cookie_response); %1) Response, 用于响应客户请求,向客户端输出信息。a) 重定向网页:response.sendRedirect(login_ok.jsp);sendError()方法可指明错误状态。例如:b) 设置HTTP响应报头:response.setContentType(“text/html”)2) Session, 与请求有关的