10. 二.设计题 解答: 三.简答题
1. JavaBeans 具有什么特点?
2. 说明javabean和servlet的相同点和不同点。
3. 试述在JSP中使用JavaBean的方法。
4. 阅读下列程序(JiSuanQi.java和act.jsp),回答问题。 文件名称:JiSuanQi.java package jisuan;
public class JiSuanQi {
private String value1; private String value2; public JiSuanQi() {
value1 = \ value2 = \ op = \ }
public void setValue1(String v1) { value1 = v1; } public void setValue2(String v2) { value2 = v2; } public void setOp(String o) { op = o; }
public String jiSuan() {
int v1 = Integer.parseInt(value1); int v2 = Integer.parseInt(value2);
int result=0; if(op.equals(\ result = v1 + v2; } else if(op.equals(\
result = v1 - v2; } else if(op.equals(\
result = v1 * v2; } else{
result = v1 / v2; }
return \ } }
文件名称:act.jsp
private String op;
(1)写出act.jsp中使用的JavaBean的名称(类的全名) (2)访问act.jsp页面,写出该页面的输出结果
5. 简述值Bean的编写方法,有哪些注意点? 解答: 1. 2. 3. 4. 5. 四.应用题
1. 试编写JSP页面实现对SQL server数据库中的数据表进行有参数的SQL查询与更新,然后 访问表中记录(数据表自行定义,要求用纯JDBC数据库驱动程序)。
2. 编写一个用JSP访问Access数据库的user表,并将所有记录显示出来;ODBC数据源名称为 test,驱动类名为:“sun.jdbc.odbc.JdbcOdbcDriver”,连接数据库的url为:“jdbc:od bc:test”。user表中name字段为文本类型,password为数字类型。
3. 编写一个Tag文件,要求用a.jsp调用Tag文件GetRecord.tag查询SQL Server 2000所管理 的pubs数据库中product表的全部记录(product表的字段包括:number(char)、name(char) 、madeTime(datetime)、price(float),其中number是主键。)。a.jsp调用Tag文件时,使 用Tag标记将数据库名pubs和表名product传递给Tag文件。a.jsp代码如下:
<%@ page contentType=\<%@ taglib tagdir=\
<%=queryResult%>
name password 张三 5327 李四 1106
4. 编写一个Tag文件。要求用a.jsp调用Tag文件AddRecord.tag向SQL Server 2000所管理的 warehouse数据库的product表中添加一条记录(product表的字段包括:number(char)、nam e(char)、madeTime(datetime)、price(float),其中number是主键。)。a.jsp调用Tag文 件时,使用Tag标记将表名product和各个记录字段传递给Tag文件。a.jsp代码如下:
5. 编写一个Tag文件。要求用a.jsp调用Tag文件RenewRecord.tag更新SQL Server 2000所管 理的warehouse数据库中employee表的一条记录(product表的字段包括:number(char)、nam e(char)、madeTime(datetime)、price(float),其中number是主键。)。a.jsp调用Tag文 件时,使用Tag标记将表名product和更新条件传递给Tag文件。a.jsp文件代码如下:
6. 试编写一个JavaBean能列出1到n以内可被59除后余1的质数,并编写一个JSP页面接收用 户输入的数n,并在页面中使用这个JavaBean将符合条件的数字打印出来。
7. 试编写一个JavaBean和一个Jsp页面,如果在Jsp页面的Form表单文本框内输入如下一串 数字{78,56,90,89,75,81,73,67,92,99,68,44,53,59,85},那么该页面会调用JavaBean的实 例完成如下处理工作:1.求这串数据的平均值;2.二统计这串数据中小于60的数字个数,并 将结果显示在Jsp页面中,要求先打印平均数,后打印小于60的数字个数。
<%@ page contentType=\<%@ taglib tagdir=\
<%=reNewRecord%>
<%@ page contentType=\<%@ taglib tagdir=\
表添加了记录:
<%=newRecord%>
1-3-10\
\
8. 现有一个部分完成的留言板,已经设计了输入留言的页面inputMessage.jsp和显示留言 的页面。要求完成 1.用Application 范围的JavaBean保存留言内容并将其编写为MessageBoa rd.java;2.画出输入留言和输出留言两个页面的显示效果图。
9. 试编写一个JavaBean能实现将自然数n(n为一个小于100的自然数)分解成素数的乘积,并 编写一个JSP页面接收用户输入的自然数n,并在这个页面中使用该JavaBean将n分解成素数的 乘积并打印。
10. 编写一个MyBean.java的源代码,其中有两个属性name,passwd。再编写一个get.jsp页面 ,页面中的代码包含< jsp:useBean class= \标签,用于获取上 述两个属性值,并显示name,passwd参数。 解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
第八章 JSP Servlet基础(上)
一.选择题
1. 假设在helloapp应用中有一个文件HelloServlet.class,它位于xaut.edu包下,那么该 文件对应的class文件应该放在什么目录下? ( )
2. 在JSP中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是。( )
Public class MyServlet extends HttpServlet{ Public void init() throws ServletException{ }
Public void service(HttpServletRequest request,HttpServletResponse response) Throws ServletException,IOException{ PrintWriter out = response.getWriter(); Out.println(“hello!”); } }
A. 编译后,把MyServlet.class放在正确位置,运行该Servlet,在浏览器中会看到运行 A. helloapp/HelloServlet.class B. helloapp/WEB-INF/HelloServlet.class C. helloapp/WEB-INF/classes/HelloServlet.class
D. helloapp/WEB-INF/classes/xaut/edu/HelloServlet.class
期错误信息。
3. 给定如下Servlet代码,假定在浏览器中输入URL:http://localhost:8080/servlet/Hel loServlet,可以调用这个servlet,那么这个Servlet的输出是。( ) }
4. 给定某程序的片断如下,用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台 上显示的结果是( )
5. Servlet程序的入口点是 ( )
6. servlet 的生命周期又一系列事件组成,把这些事件按照先后顺序排序,以下正确的是 ( )
A. init() B. main() C. service() D. doGet()
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ System.out.println(“get”); }
Public void doPost(HttpServletRequest request,HttpServletResponse response) Throws ServletException,IOException{ System.out.println(“post”); }
A . get B. post C. get D. post Post Get
public void doGet(HttpServletRequest req, HttpServletResponse res) { res.setContentType(\ out.println(\ out.println(\ }
public void doPost(HttpServletRequest req, HttpServletResponse res) { res.setContentType(\ PrintWriter out = res.getWriter(); out.println(\out.println(\ } }
A. 一个HTML页面,页面上显示doGet Hello World! B. 一个HTML页面,页面上显示doPost Hello World! C. 一个空白的HTML页面 D. 错误信息
public class HelloServlet extends HttpServlet{
public void service(HttpServletRequest req, HttpServletResponse res) {
B. 编译后,把MyServlet.class放在正确位置,运行该Servlet,在浏览器中会看到输出 C. 编译后,把MyServlet.class放在正确位置,运行该Servlet,在浏览器中看不到任何 D. 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过。 文字:hello! 输出的文字。