JSP程序设计实验代码与习题解答

合集下载

JSP程序设计第08章习题答案

JSP程序设计第08章习题答案

第08章JSP核心表达式与标签习题答案1.如何访问作用域变量答案:使用page、request、session和application来访问作用域变量。

2.JSTL的核心标签包括哪些?请列举3个答案:JSTL的核心标签有<c:out><c:set><c:remove>。

3.JSTL的XML标签包括哪几个?答案:<x:out>、<x:set>、<x:parse>4.常用的格式化标签有哪两个?请列举答案:格式化标签有两2个,分别是:<fmt:formatDate>和<fmt:formatNumber>5.自定义标签与JavaBean的区别自定义标签与JavaBean的区别如下:(1)JavaBean不能操作JSP形式的内容,而且自定义标签可以处理JSP形式的标签体。

(2)自定义标签与JavaBean更能将复杂的操作缩减为十分简洁的形式。

(3)建立自定义标签比JavaBean更复杂。

6.编写一个小程序,要求在程序中使用JSTL的核心标签(至少使用三个)答案:<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@ taglib prefix="c" uri="/jsp/jstl/core"%><html><body bgcolor="cyan"><center><h2><c:out value="<c:out> <c:set> <c:remove>"/>标签的使用</h2> <br>– 1 –第08章JSP核心表达式与标签习题答案– 2 –<hr><c:set scope="page" var="number"><c:out value="${6}"/></c:set><br><c:set scope="request" var="number"><c:out value="${6}"/></c:set><br><c:set scope="session" var="number"><c:out value="${6}"/></c:set>各范围number变量的初始值</p><pre>pageScope.number=<c:out value="${pageScope.number}" default="No content"/><br>requestScope.number=<c:out value="${requestScope.number}" default="No content"/> <br>sessionScope.number=<c:out value="${sessionScope.number}" default="No content"/> <br><p><c:out value='执行<c:remove var="number"/>之后'/></p><c:remove var="number"/>pageScope.number=<c:out value="${pageScope.number}" default="No content"/><br>requestScope.number=<c:out value="${requestScope.number}" default="No content"/> <br>sessionScope.number=<c:out value="${sessionScope.number}" default="No content"/> <br></pre></center></body></html>程序运行结果如下:– 3 –。

JSP实验1(参考附答案)

JSP实验1(参考附答案)

实验1 HTML与Tomcat 1、熟练掌握HTML的基本内容(1)设计一个问卷调查,调查内容可以自己设定。

要求通过表单向服务器提交信息(使用XHTML程序);可以参照如下类似的2、Tomcat服务器的安装与配置(1) 什么是虚拟目录?(2) 如何在Tomcat中配置虚拟目录?(3) 如何应用MyEclipse开发JSP程序?(4)根据下面页面内容编写JSP程序实现它。

(5) 编写下面的程序调查表:<调查表.html><html><head><title>友情调查</title></head><body><h1 font align="center" size="4"><b>大学生问卷调查表</b></h1> <br>你好,随着中国经济的不断发展,整个社会对高等学校毕业生的要求进一步扩大。

近些年,我国高校大规模扩招,大学生就业市场出现了新的形势。

为了更好的了解当前大学的就业心态,以便为广大同学在求职时提供更好的参考意见。

我们特别组织了这次调查,希望能够得到你们的支持与合作,本问卷不对外公开,请如实填写。

<form><p>1.你认为当前就业形势如何?<br>&nbsp;&nbsp;<input type="radio" name="radio" value="">形势严峻,就业难&nbsp;&nbsp;<input type="radio" name="radio" value="">形势正常&nbsp;&nbsp;<input type="radio" name="radio" value="">形势良好,就业容易&nbsp;&nbsp;<input type="radio" name="radio" value="">不了解<br>2.你对基本就业程序了解吗?<br>&nbsp;&nbsp;<input type="radio" name="radio1" value="">很了解&nbsp;&nbsp;<input type="radio" name="radio1" value="">一般了解&nbsp;&nbsp;<input type="radio" name="radio1" value="">不了解<br>3.你认为在就业时哪些重要?<br>&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="">专业知识&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="">交际能力&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="">学校背景&nbsp;&nbsp;<input type="checkbox" name="checkbox" value="">人际关系<br>4.你学习的是什么专业<input type="text" name="zhuanye">你认为所学专业前景如何?<br> &nbsp;&nbsp;<input type="radio" name="radio2" value="">很有前途&nbsp;&nbsp;<input type="radio" name="radio2" value="">较有前途&nbsp;&nbsp;<input type="radio" name="radio2" value="">很无前途&nbsp;&nbsp;<input type="radio" name="radio2" value="">无所谓<br>5.你有选择第二专业吗?你认为它重要么?<br>&nbsp;&nbsp;<input type="radio" name="radio3" value="">有,很重要&nbsp;&nbsp;<input type="radio" name="radio3" value="">有,不重要&nbsp;&nbsp;<input type="radio" name="radio3" value="">没有,很重要&nbsp;&nbsp;<input type="radio" name="radio3" value="">没有,不重要<br>6.参加工作的第一份职业,你最想做什么职业?<br>&nbsp;&nbsp;<input type="radio" name="radio4" value="">公务员&nbsp;&nbsp;<input type="radio" name="radio4" value="">秘书&nbsp;&nbsp;<input type="radio" name="radio4" value="">程序员&nbsp;&nbsp;<input type="radio" name="radio" value="">教师&nbsp;&nbsp;<input type="radio" name="radio4" value="">其他<input type="text" name="qita"><br>7.如果三自主创业,你认为你最需要的是?<br>&nbsp;&nbsp;<input type="radio" name="radio5" value="">资金&nbsp;&nbsp;<input type="radio" name="radio5" value="">政策支持&nbsp;&nbsp;<input type="radio" name="radio5" value="">技术&nbsp;&nbsp;<input type="radio" name="radio5" value="">其他<input type="text" name="qita"><br>8.你愿意到中小城市去发展吗?简要说下理由<br>&nbsp;&nbsp;<input type="radio" name="radio6" value="">非常乐意&nbsp;&nbsp;<input type="radio" name="radio6" value="">不乐意<input type="text" name="buleyi"><br>9.如果专业不对口,想过跳槽么?<br>&nbsp;&nbsp;<input type="radio" name="radio7" value="">想过&nbsp;&nbsp;<input type="radio" name="radio7" value="">没想过&nbsp;&nbsp;<input type="radio" name="radio7" value="">无所谓&nbsp;&nbsp;<input type="radio" name="radio7" value="">看情况<br>10.你理想的最初月工资是多少?<br>&nbsp;&nbsp;<input type="radio" name="radio8" value="">1000以下&nbsp;&nbsp;<input type="radio" name="radio8" value="">1000~2000&nbsp;&nbsp;<input type="radio" name="radio8" value="">2000~3000&nbsp;&nbsp;<input type="radio" name="radio8" value="">3000以上<br></p><input type="submit" name="start" value="提交"> <input type="reset" name="end" value="重置"></form></body></html>乘法表<乘法表.jsp><%@ page language="java" import="java.util.*" pageEncoding="GB2312"%><html><head><title>乘法表</title></head><body bgcolor="#0000ff"><p><font size="5" color="#ff0000"><b>九九乘法表</b></font></p><%for(int i=1;i<=9;i++){out.println("<br>");for(int j=1;j<=i;j++){if(j*i<10)out.println(j+"*"+ i+"= "+j*i+" " );elseout.println(j+"*"+ i+"="+j*i+" ");}}%></body></html>。

JSP实验1(附答案)

JSP实验1(附答案)

黄科大11级信计专业《JSP程序设计》上机实验实验一实验内容:1、学习安装配置JSP运行环境。

提示:(1)先安装JDK;(2)再安装TomCat;(3)最后安装JCreator。

2、仿照第一章例1编写一个求5!的程序,保存为ex1_1.jsp。

<%@ page contentType="text/html;charset=GB2312" %><HTML><head><title>求阶乘</title></head><BODY><% int i, jc=1;for(i=1;i<=5;i++)jc=jc*i;%>5!=<%=jc %></BODY></HTML>3、通过文本框中输入的圆的半径,求该圆的面积,以ex1_2.jsp为文件名保存。

--ex1_2.html--<HTML><head><title>求圆面积</title></head><BODY><p>请输入圆半径:</p><form action="ex1_2_1.jsp" method="post"><input name="r1" size="20"><input type="submit" value="计算"></form></BODY></HTML>--ex1_2_1.jsp--<%@ page contentType="text/html;charset=GB2312" %><HTML><head><title>圆面积结果</title></head><BODY><% String r2=request.getParameter("r1");double r=Double.parseDouble(r2);double s=Math.PI*r*r;%><p>该圆的面积是:<%=s %> </p></BODY></HTML><%@ page contentType="text/html;charset=GB2312" %><HTML><head><title>求圆面积</title></head><BODY><p>请输入圆半径:</p><form action="" method="post"><input name="r1" size="20"><input type="submit" value="计算"></form><% String r2=request.getParameter("r1");double r=Double.parseDouble(r2);double s=Math.PI*r*r;%><p>该圆的面积是:<%=s %> </p></BODY></HTML>4、编程求任意三角形的面积,如下图所示,以ex1_3.jsp为文件名保存。

jsp程序设计习题答案

jsp程序设计习题答案

jsp程序设计习题答案JSP程序设计习题答案在学习JSP程序设计的过程中,习题是非常重要的一部分。

通过完成习题,我们可以巩固所学的知识,提高自己的编程能力。

本文将为大家提供一些JSP程序设计习题的答案,希望能对大家的学习有所帮助。

习题一:编写一个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><h1>登录页面</h1><form action="login.jsp" method="post">用户名:<input type="text" name="username"><br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form><%-- 处理登录请求 --%><%String username = request.getParameter("username");String password = request.getParameter("password");if (username.equals("admin") && password.equals("123456")) {out.println("登录成功!");} else {out.println("登录失败!");}%></body></html>```习题二:编写一个JSP页面,实现一个简单的计算器功能。

JSP第四章课后题答案和实验报告

JSP第四章课后题答案和实验报告

第四章实验报告4.7.1 实现日历(1)日历bean,CalcendarBean.java 实现年、月、日等相关属性的设置和获取,代码如下:package beans;import java.util.*;public class CalcendarBean{Calendar calendar = null;intyear,dayOfMonth,dayOfYear,weekOfYear,weekOfMonth,dayOfWeek,hour,minute,second;private String day;String date;String time;public CalcendarBean(){calendar=Calendar.getInstance();Date time = new Date();calendar.setTime(time);}public int getYear(){return calendar.get(Calendar.YEAR);}public String getMonth(){int m=1+calendar.get(Calendar.MONTH);String months[]={"1","2","3","4","5","6","7","8","9","10","11","12"};if (m>12)return "0";return months[m+1];}public String getDay(){int n = getDayOfWeek();String days[]={"日","一","二","三","四","五","六"};if (n>7)return "星期?";return days[n];}public String getDate(){return getYear() + "/" + getMonth() + "/" + getDayOfMonth();}public String getTime(){return getHour() + ":" + getMinute() + ":" + getSecond();}public int getDayOfMonth(){return calendar.get(Calendar.DAY_OF_MONTH);}public int getDayOfYear(){return calendar.get(Calendar.DAY_OF_YEAR);}public int getWeekOfYear(){return calendar.get(Calendar.WEEK_OF_YEAR);}public int getWeekOfMonth(){return calendar.get(Calendar.WEEK_OF_MONTH);}public int getDayOfWeek(){return calendar.get(Calendar.DAY_OF_WEEK)-1;}public int getHour(){return calendar.get(Calendar.HOUR_OF_DAY);}public int getMinute(){return calendar.get(Calendar.MINUTE);}public int getSecond(){return calendar.get(Calendar.SECOND);}}(2)日历的显示由calendar.jsp 通过调用javabean来实现显示,代码如下:<%@ page contentType="text/html;charset=GB2312" %><%@ page import="beans.CalcendarBean" %><jsp:useBean id="cal" class="beans.CalcendarBean" scope="session" ></jsp:useBean><td align="center"><font color="red"><jsp:getProperty name="cal" property="year"/></font>年<font color="red"><jsp:getProperty name="cal" property="month"/></font>月<font color="red"><jsp:getProperty name="cal" property="dayOfMonth"/></font>日星期<font color="blue"><jsp:getProperty name="cal" property="day"/></font></td><BR>当前时间为<jsp:getProperty name="cal" property="time"/><BR>今天是今年的第<jsp:getProperty name="cal" property="dayOfYear"/>天<BR>本周是今年的第<jsp:getProperty name="cal" property="weekOfYear"/>周<BR>本周是本月的第<jsp:getProperty name="cal" property="weekOfMonth"/>周(3)实现日历显示:显示结果 4.7.1-14.7.2实现留言板(1)留言板javabean,NoteBean.java主要实现作者、标题、和他们的相关属性的设置和获取,代码如下:package beans;public class NoteBean{public String title;public String author;public String content;public String getTitle(){return title;}public void setTitle(String title){this.title=title;}public String getAuthor(){return author;}public void setAuthor(String author){this.author=author;}public String getContent(){return content;}public void setContent(String content){this.content=content;}}(2)留言板的添加,通过insert.jsp来实现,包括标题、作者、内容,代码如下:<%@ page contentType="text/html; charset=gb2312" language="java" %><center><h1>留言管理</h1><hr><br><form action ="insert_do.jsp" method="post"><table><tr><td colspan="3">添加新留言</td></tr><tr><td>标题:</td><td><input type="text" name="title"></td></tr><tr><td>作者:</td><td><input type="text" name="author"></td></tr><tr><td>内容:</td><td><textarea name="content" cols="30" rows="6"></textarea></td></tr><tr><td colspan="2"><input type="submit" value="添加"><input type="reset" value="重置"></td></tr></table></form></center>显示结果 4.7.2-1(3)留言板通过insert-do.jsp来实现,代码如下:<%@ page contentType="text/html; charset=gb2312" %><%@ page import="beans.NoteBean"%><center><h1>添加的内容如下所示</h1><hr><br><jsp:useBean id="sb" class="beans.NoteBean" scope="session" ></jsp:useBean><jsp:setProperty name="sb" property="*"/><h1>标题:<jsp:getProperty name="sb" property="title" /></h1><h1>作者:<jsp:getProperty name="sb" property="author" /></h1><h1>内容:<jsp:getProperty name="sb" property="content" /></h1></center>(4)执行结果如图:显示结果 4.7.2-24.7.3实现购物车(1)购物车通过JavaBean,ShopBean.java实现,用一个哈希表对象list存放购物的商品,包括名称、数量、单位属性的设置和获取,代码如下:package beans;import java.util.*;public class ShopBean{ Hashtable list=new Hashtable();String item="";int mount=0;String unit="";public void Carl(){ }public void setItem(String newItem){ item=newItem;}public void setUnit(String newUnit){ unit=newUnit;}public void setMount(int m){ mount=m;}public Hashtable show(){String str="productname:"+item+" count:\n"+mount+" unit:\n"+unit;list.put(mount,str);return list;}}(2)添加商品通过car.jsp来实现,代码如下:<%@ page contentType="text/html;charset=GB2312"%><%@ page import="java.util.*"%><%@ page import="beans.ShopBean"%><jsp:useBean id="shop" class="beans.ShopBean" scope="session" > </jsp:useBean><p>这里是百货广场,选择您要购买的商品添加到购物车:<FORM action="show.jsp" method=post name=form><Select name="item" value="没选择"><Option value="电视机">电视机<Option value="苹果">苹果<Option value="可口可乐">可口可乐<Option value="牛奶">牛奶<Option value="茶叶">茶叶</Select><p>输入购买的数量:<Input type=text name="mount"><p>选择计量单位:<INPUT type="radio" name="unit" value="个">个<INPUT type="radio" name="unit" value="公斤">公斤<INPUT type="radio" name="unit" value="台">台<INPUT type="radio" name="unit" value="瓶">瓶<Input type=submit value="提交添加"></FORM>显示如图 4.7.3-1(3)显示添加商品的信息通过show.jsp来实现,代码如下:<%@ page contentType="text/html;charset=GB2312"%><%@ page import="java.util.*"%><%@ page import="beans.ShopBean"%><jsp:useBean id="shop" class="beans.ShopBean" scope="session" > </jsp:useBean><jsp:setProperty name="shop" property="*" /><% shop.show(); %><P>您的购物车有如下商品:<%Hashtable list=shop.show();Enumeration enuml=list.elements();out.print("123");while(enuml.hasMoreElements()){out.print("456");String goods=(String)enuml.nextElement();byte b[]=goods.getBytes("ISO-8859-1");goods=new String(b);out.print("<BR>"+goods);}%>显示如图 4.7.3-2。

JSP程序设计第11章习题答案

JSP程序设计第11章习题答案

第11章理解MVC习题答案1.简述Web应用中表示层的两种架构模式,并比较这两种模式的优缺点。

答案:Web应用中表示层的两种架构模式分别为:Model1和Model2。

●Model1的工作原理如下:(1)客户端发出请求,该请求由JSP页面接收。

(2)Java Bean用于实现业务模型,JSP根据请求与不同Java Bean进行交互。

(3)业务逻辑操作指定Java Bean并改变其模型状态。

(4)JSP将改变后的结果信息转发给客户端。

● Model2的工作原理如下:(1)Servlet接收客户端发出的请求。

(2)Servlet根据不同的请求调用相应的Java Bean。

(3)业务逻辑操作指定Java Bean并改变其模型状态。

(4)Servlet将改变后Java Bean的业务模型传递给JSP视图。

(5)JSP将后台处理结果呈现给客户端。

这两种模式的优缺点比较如下:● Model1适合快速开发小型应用,但是控制逻辑与表示逻辑耦合紧密。

在大型应用程序开发过程中,容易造成程序的可移植性差,不易维护。

●与Model1模式相比,Model2更适合开发大型应用程序。

在Model2中实现了业务逻辑与表示逻辑的分离,相应地提高了程序的可维护性。

但是在开发一些小型应用时,使用Model2可能会增加程序的复杂程度。

2.说明MVC设计模式中,M、V、C分别代表什么,有什么作用。

答案:M代表Model(模型),该组件是对软件所处理问题逻辑的一种抽象,封装了问题的核心数据,逻辑和功能实现,独立于具体的界面显示以及I/O操作。

V代表View(视图),该组件将表示模型数据,逻辑关系以及状态信息,以某种形式展现给用户。

视图组件从模型组件获得显示信息,并且对于相同的显示信息可以通过不同的显示形式或视图展现给用户。

C代表Controller(控制器),该组件主要负责用户与软件之间的交互操作,控制模型状态变化的传播,以确保用户界面与模型状态的统一。

JSP程序设计实验代码与习题解答

JSP程序设计实验代码与习题解答

第1章JSP概述1.4 实验:编写、保存、运行JSP页面number.jsp<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY BGCOLOR=yellow><FONT Size=3>如果一个正整数刚好等于它的真因子之和,这样的正整数为完数,<br> 例如,6=1+2+3,因此6就是一个完数。

<br> 1到1000内的完数有:<% int i,j,sum;for(i=1,sum=0;i<=1000;i++){for(j=1;j<i;j++){if(i%j==0)sum=sum+j;}if(sum==i)out.print(" "+i);}%></FONT></BODY></HTML>习题一解答1.答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK2.答:见1.3.2中的新建Web服务目录。

3.答:在浏览器的地址栏中键入:http://IP:端口号/Web服务目录/子目录/JSP页面。

4.答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。

第2章JSP页面与JSP标记实验1:JSP页面的基本结构inputName.jsp<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=cyan><FONT size=3><FORM action="people.jsp" method=get name=form>请输入姓名:<INPUT type="text" name="name"> <BR> <INPUT TYPE="submit" value="送出" name=submit></FORM></BODY></HTML>people.jsp<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY BGCOLOR=yellow><FONT Size=3><%! int count;StringBuffer personList;public void judge(){if(count==0)personList=new StringBuffer();}public void addPerson(String p){if(count==0)personList.append(p);elsepersonList.append(","+p);count++;}%><% String name=request.getParameter("name");byte bb[]=name.getBytes("iso-8859-1");name=new String(bb);if(name.length()==0||name.length()>10){%> <jsp:forward page="inputName.jsp" /><% }judge();addPerson(name);%><BR> 目前共有<%=count%>人浏览了该页面,他们的名字是:<BR> <%=personList%></FONT></BODY></HTML>实验2:JSP指令标记first.jsp<%@ page contentType="text/plain" %><HTML> <BODY > <FONT size=4 color=blule><%@include file="hello.txt" %></FONT> </BODY></HTML>second.jsp<%@ page contentType="application/vnd.ms-powerpoint" %><HTML> <BODY > <FONT size=2 color=blule><%@include file="hello.txt" %></FONT> </BODY></HTML>third.jsp<%@ page contentType="application/msword" %><HTML> <BODY > <FONT size=4 color=blule><%@include file="hello.txt" %></FONT> </BODY></HTML>习题二解答1.答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。

JSP程序设计课后习题答案

JSP程序设计课后习题答案

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编程优点:能够更好的实现表⽰层,逻辑层和数据访问层的分离。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章JSP概述习题一解答1.答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK2.答:见1.3.2中的新建Web服务目录。

3.答:在浏览器的地址栏中键入:http://IP:端口号/Web服务目录/子目录/JSP页面。

4.答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。

第2章JSP页面与JSP标记习题二解答1.答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。

所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。

“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。

运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。

当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。

2.答:两次。

3.答:不允许。

允许。

4.答:第一个用户看到的sum的值是610,第二个用户看到的sum的值是12105.答:<%@ page contentType="text/html;charset=GB2312" %><HTML><BODY><%for(char c='A';c<='Z';c++){out.print(" "+c);}%></BODY></HTML>6.答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。

因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。

include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。

如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。

7.答: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>第3章Tag文件与Tag标记习题三解答1.不可以2.如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:Web服务目录\WEB-INF\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。

一个Tag文件必须保存到tags目录或其下的子目录中。

3.body-content、language、import、pageEncoding4.使用attribute指令可以动态地向该Tag文件传递对象。

5.使用variable指令可以将Tag文件中的对象返回给调用该Tag文件的JSP页面。

6.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.one.jsp:<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.text.*" %><%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%><HTML><BODY bgcolor=cyan><computer:GetArea sideA="3" sideB="6" sideC="5"/><h4> 面积保留3位小数点:<%NumberFormat f=NumberFormat.getInstance();f.setMaximumFractionDigits(3);double result=area.doubleValue();String str=f.format(result);out.println(str);%></BODY></HTML>two.jsp:<%@ page contentType="text/html;charset=GB2312" %><%@ page import ="java.text.*" %><%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%><BODY bgcolor=cyan><computer:GetArea sideA="3" sideB="6" sideC="5"/><h4> 面积保留6位小数点:<%NumberFormat f=NumberFormat.getInstance();f.setMaximumFractionDigits(6);double result=area.doubleValue();String str=f.format(result);out.println(str);%></BODY></HTML>GetArea.tag:<%@ attribute name="sideA" required="true" %><%@ attribute name="sideB" required="true" %><%@ attribute name="sideC" required="true" %><%@ variable name-given="area" variable-class="ng.Double" scope="AT_END" %><%double a=Double.parseDouble(sideA);double b=Double.parseDouble(sideB);double c=Double.parseDouble(sideC);if(a+b>c&&a+c>b&&c+b>a){ double p=(a+b+c)/2.0;double result=Math.sqrt(p*(p-a)*(p-b)*(p-c)) ;jspContext.setAttribute("area",new Double(result));}else{ jspContext.setAttribute("area",new Double(-1));}%>8.linxi8.jsp:<%@ page contentType="text/html;Charset=GB2312" %><%@ taglib tagdir="/WEB-INF/tags" prefix="ok"%><html><body><table border=1><ok:Biaoge color="yellow" name="姓名" phone="电话" email="email"><ok:Biaoge color="cyan" name="张三" phone="12345678" email="ss@"/><ok:Biaoge color="#ffc0ff" name="李小花" phone="9876543" email="cc@"/><ok:Biaoge color="cyan" name="孙六" phone="11223355" email="pp@"/><ok:Biaoge color="#ffc0ff" name="吴老二" phone="66553377" email="ee@"/> </ok:Biaoge></body></html>Biaoge.tag:<%@ attribute name="color" %><%@ attribute name="name" %><%@ attribute name="phone" %><%@ attribute name="email" %><tr bgcolor="<%=color%>"><td width=60><%=name%></td><td width=60><%=phone%></td><td width=60><%=email%></td> </tr><jsp:doBody/>第4章JSP内置对象习题四解答1.C。

相关文档
最新文档