1、 《JSP动态网站开发》考义 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 10 个人收集整理 勿做商业用途 《JSP动态网
2、站开发》考义 一、 填空题、简答题 1. JSP的优势: 1) 将内容的生成和显示进行分离 2) 生成可重用的组建 3) 采用标识简化页面 4) JSP能提供所有的Servlet功能 5) 健壮的储存管理与安全性 6) 一次编写、随处运行 7) JSP的平台适应性更广 8) Java中连接数据库的技术是JDBC(Java Database Connectivity) 9) 简单易学 2. 流行的动态网页技术主要有以下几种: ASP ASP。NET PHP JSP 3. 各种Web技术性能比较 参数 JSP ASP PHP 运行速度
3、快 较快 较快 运行耗损 较小 较大 较大 难易程度 容易掌握 简单 简单 运行平台 绝大部分平台均可 Windows平台 Windows/UNIX平台 扩展性 好 较好 较差 安全性 好 较差 好 函数支持 多 较少 多 数据库支持 多 多 多 厂商支持 多 较少 较多 对XML的支持 支持 不支持 支持 对组件的支持 支持 支持 不支持 对分布式处理的支持 支持 支持 不支持 应用程序 较广 较广 较广 4. JSP的技术架构 1) 纯粹JSP技术 2) JSP+JavaBea
4、n 3) JSP+JavaBean+Servlet 4) Struts框架 5) J2EE实现 5. MVC应用程序的三个核心部件:视图(view)、模型(model)、控制(controller) 1) 视图:代表用户交互界面.仅限于视图上数据的采集和处理以及用户的请求,不包括在视图上的业务流程处理。 2) 模型:业务流程或者状态的处理以及业务规则的制定。业务流程的处理对于其他层来说就是黑箱操作,模型接收视图请求的数据并返回最终的处理结果。业务模型是MVC最主要的核心。 3) 控制:从客户接受请求,将模型与视图匹配在一起共同完成该用户的请求。控制层不作任何的数据处理,它
5、就是一个分发器. 6. JSP页面的构成:注释、指令、脚本元素、动作、模块数据(HTML页面元素和静态文本)。 7. 脚本元素:嵌入JSP页面的Java代码.包括三部分:声明、表达式、脚本小程序. 8. 声明的一般语法:〈%! Declaration; [declaration]+。.。%〉 9. 表达式的一般语法:<%=Java Expression%> 10. 脚本小程序的一般语法:<%代码内容(Java Code)%〉 11. 指令元素(始终被包括在〈%@ %〉)标记中 1) page指令 ① import:用于指定在JSP页面中可以使用的J
6、ava类。〈%@ page import =”java类列表(java.util。Date)"%> ② session:用于指定一个页面是否内建session对象。默认值为true,表明内建session对象;如果设置属性值为false,则表示不会内建session对象。〈%@ page session=”true | false”%> ③ contentType:用于指定JSP页面输出到客户端时所用的MIME类型和字符集。如果输出简体中文,需要设置为gb2312。<%@ page contentType=”内容类型信息(gb2312)"%> ④ pageEncoding:用于指定
7、JSP页面所用的字符集编码。设置了该属性,则JSP页面使用该属性设置的字符集代码,如果没有,则使用contentType属性指定的字符集。<%@ page contentType="字符编码(GBK)”%>
2) include指令:用于在JSP页面中包含一个静态文件,内容可以是JSP页面、HTML页面、文本文件或一段Java代码。〈%@ include file=”relativeURL"%〉
12.
8、是固定不变的,一经编译就不能改变了. 13. 〈jsp:forward〉标签:用于请求转发到另一个JSP、Servlet或者静态资源文件.〈jsp:forward page={"relativeURL”| "〈%= expression %〉”} /〉 14. gerParameter(String):返回给定参数的值,如果参数不存在则返回空值 15. Meta标签的两大部分:HTTP标题信息(http-equiv)和页面描述信息(name)。 1) http-equiv 类似于HTTP的头部协议,用于相应给浏览器一些有用的信息,以帮助正确地显示网页内容。 2) Name
9、 用于描述网页,便于搜索引擎分类和查找。name的值指定网页所提供的信息类型.有的值是预定义的,例如Description(说明)、Keyword(关键字)、Refresh(刷新),还可以是其他任意值,例如Creationdate(创建日期)。 16. 使用Response重定向 使用Response对象的sendRedirect()方法将客户端请求重定向到其他web地址。 〈% Response.sendRedirect(”login。jsp")%〉 17. setAttribute(String,Object) 将value对象以name名称绑定到会
10、话,变成其name的属性。如果name属性已经存在,其对应的对象被转换为value对象。 18. getAttribute(String) 从会话session对象中取得name属性,如果name属性不存在,则返回null 19. Session的生命周期 JSP容器会为每个线程分配不同的session对象。当用户再次访问服务器时,或者从该服务器连接到其他服务器再回到该服务器时,JSP容器不再分配给用户一个新的session对象,而是使用完全相同的一个ID号,直到用户关闭浏览器,则服务器上该用户的session才被撤销.当用户重新打开浏览器并再次连接到该服务器时,服务器
11、将为该用户再创建一个新的session对象以及session ID。 20. Application对象保存了一个web应用程序中一些公用的数据,与Session相比,Application对象所保存的数据可以被所有用户共享,而Session对象则是每个用户专用。 21. 根据访问文件的方式可以将文件分为3类:顺序文件(文本文件)、随机文件和二进制文件。 22. JDBC API提供3项核心服务:连接服务、SQL服务、结果处理. 23. JDBC可以完成3件事:建立与连接数据库、发送SQL语句、获得数据库的处理结果。 24. PreparedStatement与其
12、他SQL语句容器的区别 1) Statement 用于执行不带参数的简单的SQL语句; 2) PreparedStatement 用于执行带或者不带IN参数的预编译SQL语句(继承于Statement). 3) CallableStatement 用于执行对数据库储存过程的调用(继承于PreparedStatement)。 25. JavaBean的优点 1) 紧凑而方便的创建和使用 2) 完全的可移植性 3) 继承Java的强大功能 4) 应用程序构造器支持 5) 分布式计算支持 26. JavaBean的规范 1) JavaBean必须有一个无参数的构
13、造方法。JavaBean类中如果存在自定义的构造方法,那么必须定义一个无参数的构造方法,该构造方法必须方法,该构造方法必须是public访问权限. 2) JavaBean属性必须通过使用get、set和其他按标准命名规范来命名的方法进行操作。若成员变量名是xxx,那么使用getXxx()来获取属性,使用setXxx()来设置属性值.对于boolean类型的属性,可以用is来代替getXxx()方法。 27. Servlet生命周期的三个阶段 1) 初始化阶段(加载、实例化、初始化):init()方法是Servlet生命周期的起点。在init()方法中,Servlet创建和初始化它在处
14、理请求时需要用到的资源。 2) 响应客户请求阶段(处理客户请求):服务器创建特定于请求的一个“请求”和“响应”对象。Service()方法从“请求”对象会的请求信息,处理请求并用“响应”对象的方法将响应返回客户机。能够重复执行. 3) 终止阶段(卸载):destroy()方法标志Servlet生命周期的结束。当服务器不再需要Servlet或重新装入Servlet的实例时,服务器就会调用Servlet的destroy()方法,将前面占用的资源释放。 28. Scope:指定JavaBean组件的作用域.默认值为Page作用域,表明此Bean只能用于当前页;Request属性值表明此Be
15、an只能应用于当前的用户请求中;Session属性值表明此Bean能应用到整个session的生命周期;Application的属性值表明此Bean能应用于当前整个web应用的范围内。 29. JavaBean组件的作用域的大小比较:Page〈Request〈Session〈Application 1) Page:运用于当前JSP页面,浏览器离开这儿页面的时候JavaBean就会被销毁。 2) Request:JavaBean储存在当前ServletRequest中,只有在请求完全处理完毕后才会被释放,Request常用于共享同一个请求的JSP页面中。 3) Session:表示J
16、avaBean对象将被储存在HTTP会话中,即存在于用户的整个会话过程中。只有当session过期后才能被释放,常用于共享同一session的JSP页面中.
4) Application:对JavaBean所有的用户和所有页面都起作用,只需创建一次就会存在与web应用的整个生命周期中。(站点访问计数器)
30. 18、一部分功能,多个Servlt控制器可以结合完成复杂任务,副作用是导致响应时间过长.JavaBean的角色是充当JSP和Servlet通信的工具。Servlet处理完后设置JavaBean的属性,JSP读取此属性然后进行显示。
2. JSP运行机制
对JSP页面的客户请求到来时Tomcat服务器在获取了客户端发送的请求后会检验JSP页面有无语法错误,并依据请求调用相关的JSP处理页面.
如果该页是第一次被执行,需要把JSP页面中的代码转换为Servlet代码形式,这是转换阶段。转换完毕后,需要将转换的java文件编译成class文件,使用JV,M解释执行该文件,并将 19、执行后的结果返回客户端,这是执行阶段。
如果不是第一次执行,直接调用该页面的class文件执行.
3. JDBC核心类之间的关系
Class。forName()方法加载数据库驱动类;然后调用驱动管理器类的getConnection()方法获取Connection对象,并传入构造Connection对象所必需的参数;Connection对象调用createStatement()方法创建一个代表SQL语句的Statement对象;调用Statement对象的executeQuery()方法执行SQL查询语句,从而获得代表查询结果的ResultSet对象。
4. Serv 20、let生命周期示意图
三、 程序设计
1. 配置Servlet
21、import =”java.sql。*” %>
<%!
static
{
try
{
Class。forName("com.mysql。jdbc。Driver”);
}
catch (ClassNotFoundException e);
{
e。printStackTrace();
}
}
private Connection connection ;
private String url = "jdec:mysql://localhost;3306/test";
public Connection getCo 22、nnection(String url, String name, String pw) throws
{
connection = DriverManager。getConncetion(url,name,pw)
return connection;
}
public Connection getConnection() throws SQLException
{
Return getConnection(url,”root","123”);
}
%>
4. JavaBean
实例:
Package bean。example;
Public class User
{
private String name;
private String pw;
public void setName(String name)
{
This.name=name;
}
public void setPw(String pw)
{
This。pw=pw;
}
public void getName()
{
Return name;
}
public void getPw()
{
Return pw;
}
}






