jsp程序设计(第2版)习题解答,含题目
- 格式:doc
- 大小:85.50 KB
- 文档页数:9
jsp程序设计教程课后习题答案JSP程序设计教程课后习题答案在学习JSP程序设计的过程中,课后习题是非常重要的一部分,通过完成习题可以巩固所学的知识,并且提升自己的编程能力。
本文将为大家提供一些常见JSP程序设计课后习题的答案,希望能够对大家的学习有所帮助。
一、基础题1. 编写一个JSP页面,实现一个简单的计算器功能,用户输入两个数字和一个操作符(+、-、*、/),页面输出计算结果。
```jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>计算器</title></head><body><form action="" method="post"><input type="text" name="num1" placeholder="请输入第一个数字"><br> <input type="text" name="num2" placeholder="请输入第二个数字"><br> <input type="text" name="operator" placeholder="请输入操作符"><br><input type="submit" value="计算"></form><%-- 获取用户输入的数字和操作符 --%><% int num1 = Integer.parseInt(request.getParameter("num1")); int num2 = Integer.parseInt(request.getParameter("num2")); String operator = request.getParameter("operator");%><%-- 根据操作符进行计算 --%><% double result = 0;if(operator.equals("+")){result = num1 + num2;} else if(operator.equals("-")){result = num1 - num2;} else if(operator.equals("*")){result = num1 * num2;} else if(operator.equals("/")){result = num1 / num2;}%><%-- 输出计算结果 --%><h1>计算结果: <%= result %> </h1></body></html>```2. 编写一个JSP页面,实现一个简单的登录功能,用户输入用户名和密码,页面判断是否登录成功。
JSP应用与开发技术第二版课后练习题含答案前言JSP(Java Server Pages)是一种基于Java技术的动态网页开发技术。
它允许Java代码和特定JSP标记混合在一起,从而实现了动态生成HTML、XML等网页文件的功能。
JSP应用与开发技术是JSP的入门教材,本书包括了大量的案例和练习,本文将重点介绍课后练习题,并提供答案供参考。
课后练习题1. 什么是JSP?列举JSP的优点和缺点。
答案:JSP(Java Server Pages)是一种基于Java技术的动态网页开发技术,它允许Java代码和特定JSP标记混合在一起,从而实现了动态生成HTML、XML等网页文件的功能。
以下是JSP的优点:•可以结合Java代码实现动态网页生成,具有高度的灵活性;•基于Java技术,具有跨平台、安全性高、能与其他开发技术互通等优点;•模板化的编写方式,提高了代码的可读性和维护性;•可以方便地与Java Web框架集成。
以下是JSP的缺点:•JSP容易出现逻辑与视图耦合的问题;•JSP中可能存在HTML、CSS等前端技术和Java代码的混合,不利于前后端分离;•JSP代码较为复杂,不利于开发效率。
2. 请列举JSP的指令。
答案:JSP有三种指令,分别是page指令、include指令和taglib指令。
•page指令:定义网页的属性和导入相关包;•include指令:用于把其他文件(例如HTML、JSP等)包含进当前的文件中;•taglib指令:用于导入标签库,方便重用标签。
3. 请列举JSP中的注释标记。
答案:注释标记是JSP中的一种特殊标识符,用于标记JSP页面中的注释信息。
JSP中的注释标记分为两种:•HTML注释:<!–这是HTML注释– >•Java注释:<%–这是Java注释–%>4. 请列举JSP中的一些隐含对象,并简要介绍其作用。
答案:JSP中的隐含对象是指可以直接在JSP代码中访问的默认对象,不需要进行任何声明和初始化操作。
习题一1.怎么启动和关闭服务器答:确保服务器使用的是环境变量设置的。
3.怎样访问服务目录子目录中的页面答:服务目录的下的目录称为该服务目录下的相对服务目录。
浏览器的地址栏中键入:目录名字/子目录名字页面。
4.如果想修改服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改服务器安装目录中文件夹中的主配置文件:,只要没有其他应用程序正在占用80,就可以将端口号设置为80。
习题二1.“<%!”和“%>”之间声明的变量与“<%”和“%>”之间声明的变量与有何不同答:“<%!”和“%>”之间声明的变量在整个页面内都有效,称为页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。
所有用户共享页面的成员变量,因此任何一个用户对页面成员变量操作的结果,都会影响到其他用户。
“<%”和“%>”之间声明的变量称为局部变量,局部变量在页面后继的所有程序片以及表达式部分内都有效。
运行在不同线程中的程序片的局部变量互不干扰,即一个用户改变程序片中的局部变量的值不会影响其他用户的程序片中的局部变量。
当一个线程将程序片执行完毕,运行在该线程中的程序片的局部变量释放所占的内存。
2.如果有两个用户访问一个页面,该页面中的程序片将被执行几次?答:两次。
5.请编写一个简单的页面,显示大写英文字母表。
答:< "2312" %><><><%( 'A'<='Z'){(" ");}%><><>6.请简单叙述指令标记和动作标记的不同。
答:指令标记的作用是在页面出现该指令的位置处,静态插入一个文件,即页面和插入的文件合并成一个新的页面,然后引擎再将这个新的页面转译成文件。
因此,插入文件后,必须保证新合并成的页面符合语法规则,即能够成为一个页面文件。
专业:移动通信科目:JSP程序设计一、单项选择题1.Page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是()A.可以在一个页面中使用多个<% page %>指令。
B.<% page %>作用于整个JSP页面。
C.<% page %>指令中的属性只能出现一次。
D.为增强程序的可读性,建议将<% page %>指令放在JSP文件的开头,但不是必须的。
答案:C2.对于一个继承于TagSupport标签来说,他的dostart方法的返回值决定本体是否可见,那么下面那一个是让本体可见的()A.EVAL_PAGEB.SKIP_PAGEC.SKIP_BODYD.EVAL_BODY_INCLUDE答案:D3.关于JavaBean正确的说法是()A.Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写B.被引用的Bean文件的文件名后缀为.javaC.Bean文件放在任何目录下都可以被引用D.在JSP文件中引用Bean,其实就是用<jsp:useBean>语句答案:A4.下面的代码的执行结果描述正确的是()import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;publid class MyTest extends BodyTagSupport{private int num=0;public int doAfterBody(){JspWriter out=bodyContent.getEnclosingWriter();try{out.println("good<br>");}catch(Exception e){}num++;if(num<2)return EVAL_BODY_AGAIN;else return SKIP_BODY;}}A.输出0次goodB.输出3次goodC.输出2次goodD.输出1次good答案:B5.如果我们的提交方式是POST,在servlet里没有dopost方法对应的话,将出现下面的那种错误()A.404B.400C.500D.405答案:D6.不能在不同用户之间共享数据的方法是()A.利用文件系统B.通过ServletContext对象C.利用数据库D.通过cookie答案:D7.在JSP中,()动作用于将请求转发给其他JSP页面。
第1章:参考答案:一、填空题(1)HTTP、HTML、RSS/ATOM(2)Java Server Pages、Sun Microsystem、Java(3)path、classpath、C:\jdk\bin、.;C:\Java\jdk\lib\da.jar;C:\Java\jdk\lib\tools.jar;(4)JSP、Servlet二、选择题1-5:ABCD、ABD、D、D、D第2章:参考答案:实验指导:2.5.1.第一处需要填写的代码:page contentType="text/html;charset=GB2312" import="java.util.*;"第二处需要填写的代码:break;2.5.2.第一处需要填写的代码:int i=1;i<=n;i++第二处需要填写的代码:sum=Factorial(j);2.5.3.第一处需要填写的代码:page="jspinclude.jsp"/第二处需要填写的代码:i>0;i--习题集:一、填空题(1)include 、page(2)i++; double p=(a[0]+a[1]+a[2])/2;(3)Math.PI*2*r; double r;(4)声明了一个long型变量sum:然后调用方法continueSum,将调用方法continueSum得到的值显示到客户:1到101的连续和是:5151您计算的项数超过100项了。
(5)year%4==0 year%100==0 year%400==0二、选择题1-3:B、A、B第3章答案:3.6.1.第一处需要填写的代码:String username=request.getParameter("username");第二处需要填写的代码:"admin".equals(username)&&"admin".equals(password) 3.6.2.第一处需要填写的代码:!goodsName.equals("")第二处需要填写的代码:list.add(goodsName);3.6.3.第一处需要填写的代码:oCount==null第二处需要填写的代码:String dateTime = dateFm.format(new java.util.Date()); 第二处需要填写的代码:一、填空题(1)session、application、request、response、out。
JSP程序设计课后习题答案第⼀章 JSP概述1-1 JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?JSP的全称是Java Server Pages。
优点:跨平台、分离静态内容和动态内容、可重复使⽤的组件、沿⽤了Java Servlet的所有功能、具有预编译性。
共同点:可以在页⾯中加⼊脚本代码来⽣成动态内容。
1-2 JSP中可重复使⽤的组件有哪些?JavaBean组件、JSP的标准标签和⾃定义标签。
1-3 什么是JSP的预编译特征?预编译是JSP的另⼀个重要的特性。
JSP页⾯在被服务器执⾏前,都是已经被编译好的,并且通常只进⾏⼀次编译,即在JSP页⾯被第⼀次请求时进⾏编译,在后续的请求中如果JSP页⾯没有被修改过,服务器只需要直接调⽤这些已经被编译好的代码,这⼤⼤提⾼了访问速度。
1-4 开发JSP程序需要具备哪些开发环境?Web浏览器、Web服务器、JDK开发⼯具包以及数据库。
1-5 在成功安装JDK后,需要配置哪些环境变量?JAVA_HOME变量、Path变量、CLASSPATH变量1-6 Tomcat的默认端⼝、⽤户名和密码分别是什么?端⼝为“8080”、⽤户名为“admin”、密码为空。
1-7 本章介绍的⽤来开发JSP程序的开发⼯具是什么?Eclipse1-8 开发JSP程序可采⽤哪⼏种开发模式?分别介绍它们的优缺点。
单纯的JSP页⾯编程:优点:通过应⽤JSP中的脚本标志,可直接在JSP页⾯中实现各种功能。
缺点:⼤部分的Java代码与HTML代码混淆在⼀起,给程序的维护和调试带来很多的困难。
JSP+JavaBean编程优点:jsp与javabean的结合,使web程序更加的直观,使⽤简单,不⽤于后台进⾏交互,直接在前端处理业务逻辑,更快速。
缺点:性能不好,jsp作为web的前端程序包含了太多的业务逻辑,给前端jsp造成了压⼒。
不便于维护。
JSP+Servlet+JavaBean编程优点:能够更好的实现表⽰层,逻辑层和数据访问层的分离。
jsp大学实用教程第二版课后答案【篇一:jsp 实用教程(第二版)程序源代码】class=txt>清华大学出版社(耿祥义张跃平编著)程序源代码建议使用文档结构图浏览使用word菜单→视图→文档结构图)(选择摘要jsp是一种动态网页技术标准,利用这一技术可以建立安全、跨平台的先进动态网站。
本书是一本实用教程,配备了大量的例题,叙述详细,通俗易懂,便于自学,特别注重结合实例讲解一些难点和关键技术。
全书共分10章,内容包括jsp简介、jsp语法、内置对象、jsp与javabean、文件操作、数据库操作、javaservlet、mvc设计模式、jsp中使用xml等重要内容。
本书所有知识都结合具体实例进行介绍.力求详略得当,突出jsp在开发web动态网站方面的强大功能,使读者快速掌握和运用jsp的编程技巧。
本书不仅可以作为大学计算机及相关专业的选修课教材,也适合自学者及网站开发人员参考使用。
前言本书是《jsp实用教程》的第二版,继续保留原教材的特点——注重教材的可读性和实用性,许多例题都经过精心的考虑,即能帮助理解知识,同时又具有启发性。
在第二版中增加了xml和mvc模式在web设计中的应用,对全书章节的先后顺序和部分例题的内容做了调整。
第1章介绍jsp重要性,对tomcat服务器的安装与配置给予了详细介绍。
第2章讲解jsp页面的基本构成、常用的jsp标记。
第3章讲解内置对象,特别强调了这些内置对象在jsp应用开发中的重要性,结合实例使读者掌握内置对象的用法。
第4章是jsp技术中很重要的内容,即怎样使用javabean分离数据的显示和处理,这一章讲解了许多有一定应用价值的例子。
第5章主要讲解怎样使用java中的输入输出流实现文件的读写操作,在实例上特别强调怎样使用javabean实现文件的读写操作。
第6章涉及的内容是数据库,也是web应用开发的非常重要的一部分内容,特别介绍了各种数据库的连接方式。
第7章讲解javaservlet,对servlet对象的运行原理给予了细致的讲解,许多例子都是大多数web开发中经常使用的模块。
第1章1. 按要求设置窗体属性2.在窗体上建立一个标签Label1。
程序代码如下:Private Sub Form_Click()Label1.Caption = "你单击了窗体"End SubPrivate Sub Form_DblClick()Label1.Caption = "你双击了窗体"End Sub3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮Command1。
两个文本框的Text属性均为空。
Private Sub Command1_Click()Dim x As Singlex = Val(Text1.Text)Text2.Text = 15 * xEnd Sub第2章1~3题:按要求完成操作练习。
4. Private Sub Command1_Click() '"最大化"按钮Form1.WindowState = 2 '最大化End SubPrivate Sub Command2_Click() '"还原"按钮Form1.WindowState = 0 '还原End SubPrivate Sub Command3_Click() '"最小化"按钮Form1.WindowState = 1 '最小化End Sub5.在窗体上建立三个文本框Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按钮Command1(“计算”)。
Private Sub Command1_Click()Dim x As SingleDim y As Singlex = Val(Text1.Text)y = Val(Text2.Text)Text3.Text = x * x + y * yEnd Sub6. 在窗体上建立两个文本框Text1(输入一串字符)、Text2(输出结果)和一个命令按钮Command1。
习题一1.怎么启动和关闭Tomcat服务器答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK。
3.怎样访问Web服务目录子目录中的JSP页面答:Web服务目录的下的目录称为该Web服务目录下的相对Web服务目录。
浏览器的地址栏中键入:http://IP:8080/Web目录名字/子目录名字/JSP页面。
4.如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。
习题二1.“<%!”和“%>”之间声明的变量与“<%”和“%>”之间声明的变量与有何不同答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。
所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。
“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。
运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java 程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。
当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。
2.如果有两个用户访问一个JSP页面,该页面中的Java程序片将被执行几次?答:两次。
5.请编写一个简单的JSP页面,显示大写英文字母表。
答:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY><%for(char c='A';c<='Z';c++){out.print(" "+c);}%></BODY></HTML>6.请简单叙述include指令标记和include动作标记的不同。
答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。
因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。
include 动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP 页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。
如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。
7.编写两个JSP页面:main.jsp和lader.jsp,将两个JSP页面保存在同一Web服务目录中。
main.jsp 使用include动作标记动态加载lader.jsp页面。
lader.jsp页面可以计算并显示梯形的面积。
当lader.jsp被加载时获取main.jsp页面中include动作标记的param子标记提供的梯形的上底、下底和高的值。
答:main.jsp:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY><jsp:include page="lader.jsp"><jsp:param name="a" value="5" /><jsp:param name="b" value="6" /><jsp:param name="h" value="10" /></jsp:include></BODY></HTML>lader.jsp:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY><%String strA=request.getParameter("a");String strB=request.getParameter("b");String strH=request.getParameter("h");double a=Double.parseDouble(strA);double b=Double.parseDouble(strB);double h=Double.parseDouble(strH);double area=(a+b)*h/2;%><P> 梯形面积:<%=area%></BODY></HTML>习题三1.用户可以使用浏览器直接访问一个Tag文件吗?答:不可以2.Tag文件应当存放在怎样的目录中?答:如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:Web服务目录\WEB-INF\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags 下的子目录名字可由用户给定。
一个Tag文件必须保存到tags目录或其下的子目录中。
3.Tag文件中的tag指令可以设置哪些属性的值?答:body-content、language、import、pageEncoding 。
4.Tag文件中的attribute指令有怎样的作用?答:使用attribute指令可以动态地向该Tag文件传递对象的引用。
5.Tag文件中的varibute指令有怎样的作用?答:使用variable指令可以将Tag文件中的对象返回给调用该Tag文件的JSP页面。
6.编写两个Tag文件Rect.tag和Circle.tag。
Rect.tag负责计算并显示矩形的面积,Circle.tag负责计算并显示圆的面积。
编写一个JSP页面lianxi6.jsp,该JSP页面使用Tag标记调用Rect.tag 和Circle.tag。
调用Rect.tag时,向其传递矩形的两个边的长度;调用Circle.tag时,向其传递圆的半径。
答:Lianxi6.jsp:<%@ page contentType="text/html;Charset=GB2312" %><%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%><HTML><BODY><H3>以下是调用Tag文件的效果:</H3><computer:Rect sideA="5" sideB="6"/><H3>以下是调用Tag文件的效果:</H3><computer:Circle radius="16"/></BODY></HTML>Rect.tag:<h4>这是一个Tag文件,负责计算矩形的面积。
<%@ attribute name="sideA" required="true" %><%@ attribute name="sideB" required="true" %><%!public String getArea(double a,double b){ if(a>0&&b>0){double area=a*b ;return "<BR>矩形的面积:"+area;}else{ return("<BR>"+a+","+b+"不能构成一个矩形,无法计算面积");}}%><% out.println("<BR>JSP页面传递过来的两条边:"+sideA+","+sideB);double a=Double.parseDouble(sideA);double b=Double.parseDouble(sideB);out.println(getArea(a,b));%>Circle.tag:<h4>这是一个Tag文件,负责计算园的面积。
<%@ attribute name="radius" required="true" %><%!public String getArea(double r){ if(r>0){double area=Math.PI*r*r ;return "<BR>圆的面积:"+area;}else{ return("<BR>"+r+"不能构成一个圆,无法计算面积");}}%><% out.println("<BR>JSP页面传递过来的半径:"+radius);double r=Double.parseDouble(radius);out.println(getArea(r));%>7.编写一个Tag文件GetArea.tag负责求出三角形面积,并使用variable指令返回三角形的面积给调用该Tag文件的JSP页面。
JSP页面负责显示Tag文件返回的三角形的面积。
JSP在调用Tag 文件时,使用attribute指令将三角形三边的长度传递给Tag文件。