• 1.09 MB
  • 2022-04-22 11:51:58 发布

《Java Web应用开发实用教程》练习答案.doc

  • 41页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'1.7习题1.单选题(1)在HTML中超链接标记为()A.B.C.和D.和答案:A(2)表单中的数据要提交到的处理文件由表单的()属性指定。A.methodB.nameC.actionD.以上都不对答案:C(3)当标记的type属性值为()时,代表一个多选框。A.textB.radioC.checkboxD.button答案:C(4)以下URL中语法不正确的是()A.http://www.bta.net.cn:80/software/home.htmlB.telnet://bdysseu.bbb.com:70C.ftp://ftp.btbu.edu.cnD.www0.btbu.edu.cn答案:D2.上机练习用记事本或Dreamweaver制作如下几个页面(建议用Dreamweaver制作):link.html:此页面只有一个超级链接,用户单击此链接后将链接到login.html登录页面。login.html:此页面为用户登录页面,用户可以在此页面输入用户名和密码,然后提交表单。login_success.jsp:接收用户输入并显示“登录成功!”。三个页面运行后的效果如图1.8所示。图1.8练习题页面运行效果答案:link.html代码如下:HTML练习点击这里登录 login.html代码如下:登录页面用户名
密 码
login_success.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%>无标题文档登录成功!2.7习题1.单选题(1)要运行JSP程序,下列说法不正确的是() A.服务器端需要安装Servlet容器,如Tomcat等。B.客户端需要安装Servlet容器,如Tomcat等。C.服务器端需要安装JDK。D.客户端需要安装浏览器,如IE等。答案:B(1)当发布Web应用程序时,通常把Web应用程序的目录及文件放到Tomcat的()目录下。A.workB.tempC.webappsD.conf答案:C2.上机练习(1)按照本章所介绍的方法,下载和安装JDK和Tomcat,配置Windows操作系统下的JavaWeb应用开发环境。l安装j2sdk,配置系统的环境变量,测试j2sdk安装是否成功。l安装并配置Tomcat,安装完成后发布Tomcat的默认主页,完成Tomcat的启动和停止操作。l创建一个虚拟发布目录,将例helloapp.jsp存入虚拟目录发布。(2)练习建立MyEclipseWebProject,并在其中建立几个HTML文件及JSP文件。答案:略。请参考相关章节。3.6习题1.单选题(1)下面有关HTTP协议的说法不正确的是()A.HTTP协议是Web应用所使用的主要协议B.HTTP协议是一种超文本传输协议(HypertextTransferProtocol),是基于请求/响应模式的C.HTTP是无状态协议D.HTTP的请求和响应消息如果没有发送并传递成功的话,HTTP可以保存已传递的信息答案:D(2)下面有关Servlet的描述错误的是()。A.一个Servlet就是Java中的一个类B.Servlet是位于Web 服务器内部的服务器端的Java应用程序C.Servlet可以由客户端的浏览器解释执行D.加载Servlet的Web服务器必须包含支持Servlet的Java虚拟机答案:C(3)有关Servlet的调用,下列说法错误的是()。A.可以通过在浏览器的地址栏中输入URL来调用Servlet。B.可以通过表单的action属性来调用一个Servlet接收表单信息。C.可以在标记中调用Servlet。D.只有上述三种调用Servlet的方法。答案:D 4.6习题1.单选题(1)下面不属于JSP指令的是:()A.includeB.importC.pageD.taglib答案:B(2)page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是:()A.<%@page%>作用于整个JSP页面。B.可以在一个页面中使用多个<%@page%>指令。C.为增强程序的可读性,建议将<%@page%>指令放在JSP文件的开头,但不是必须的。D.<%@page%>指令中的属性只能出现一次。答案:D(3)下列标签使用正确的是:()A.B.C.D.答案:A(4)()动作用于转向另一个页面。A.nextB.forwardC.includeD.param答案:B(5)在项目中已经建立了一个JavaBean,该类为:bean.Student,该bean具有name属性,则下面标签用法正确的是:()A.B.C.D.答案:C(6)jsp:useBean动作的scope属性设置为()将使同一用户在不同页面共享Beans。A.pageB.sessionC.applicationD.request答案:B(7)在JSP中使用标记时,不会出现的属性是:()A.nameB.propertyC.valueD. 以上皆不会出现 答案:C2.上机练习(1)应用Date函数读取系统当前时间,根据不同的时间段,在浏览器输出不同的问候语,例如上午0~12点之间输出“早上好”,同时把系统的年、月、日、小时、分、秒和星期输出到用户的浏览器。答案:文件date.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"import="java.util.*"%>jsp基本语法应用案例
<%Datetoday=newDate();intyear0=today.getYear();intyear=year0+1900;intmonth0=today.getMonth();intmonth=month0+1;intdate=today.getDate();intday=today.getDay();inthours=today.getHours();intminutes=today.getMinutes();intseconds=today.getSeconds();if(hours>=0&&hours<12){out.println("朋友们,早上好!");}elseif(hours>=12&&hours<19){out.println("朋友们,下午好!");}elseout.println("朋友们,晚上好!");out.println("
现在是:"+year+"年"+month+"月"+date+"日星期"+day+"
"+hours+"时"+minutes+"分"+seconds+"秒");%>
程序运行结果如图4.1所示。 图4.1上机练习(1)运行结果(2)加载动态文件,制作一个JSP文件,计算一个数的平方,然后再制作一个JSP文件,应用动作加载上述的JSP文件,在客户端显示出来,并在客户端的“查看源文件”中观察源文件。答案:计算一个数的平方的文件square.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%>jsp:include<%Stringstr=request.getParameter("num");if(str==null){str="1";}intn=Integer.parseInt(str);doublef;f=n*n;%><%=n%>的平方等于<%=f%>包含此文件的JSP文件include.jsp文件代码如下:<%@pagecontentType="text/html;charset=gb2312"language="java"import="java.lang.Math"%>jsp:include求一个数的平方
文件运行结果如图4.2所示。 图4.2上机练习(2)运行结果(3)设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,用“jsp:forwardpage=”语句将页面跳转到介绍该图书信息页面。答案:读者选择图书页面selectBook.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%>选择图书《WEB技术应用基础》《信号与系统》 接受用户的选择并根据用户的选项转向图书信息页面的文件receiveBook.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%request.setCharacterEncoding("GB2312");%>JSP:动作<%Stringgetsel;getsel=request.getParameter("book");if(getsel.equals("web")){%><%}elseif(getsel.equals("signal")){%><%}%>显示图书信息的页面bookInfo.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%request.setCharacterEncoding("GB2312");%>无标题文档 你选择的是:<%=request.getParameter("bookname")%>
作者是:<%=request.getParameter("auther")%>文件运行结果如图4.3各图所示。图4.3上机练习(3)运行结果5.11习题1.单选题(1)下列选项中,()可以准确地获取请求页面的一个文本框的输入(文本框的名称为name)。A.request.getParameter(name)B.request.getParameter(”name”)C.request.getParameterValues(name)D.request.getParameterValues(“name”)答案:B(2)使用response对象进行重定向时,使用的方法是()。A.getAttributeB.setContentTypeC.sendRedirectD.setAttribute答案:C(3)session对象中用于设定指定名字的属性值,并且把它存储在session对象中的方法是()。A.setAttributeB.getAttributeNamesC.getValueD.getAttribute答案:A(4)在application对象中用()方法可以获得application对象中的所有变量名。A.getServerInfoB.nextElements()C.removeAttributeD.getRealPath答案:B2.上机练习 (1)制作一个购书页面,要求用户输入用户名和密码,并通过下拉菜单选择需要购买的图书,单击“确定”按钮,将信息发往服务器端,服务器端文件接收用户输入并输出用户名和所购图书。答案:读者选购图书页面buyBook.jsp代码如下:选购图书

请输入个人信息并选择要购买的图书

用户名
密 码
图 书Web技术应用基础信号与系统高等数学
 接收用户输入的服务器端文件receiveUser.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%> 无标题文档<%request.setCharacterEncoding("GB2312");StringuserName=request.getParameter("username");Stringbook=request.getParameter("book");%><%=userName%>你好
你要购买的图书为:《<%=book%>》
文件运行结果如图5.1所示。图5.1上机练习(1)运行结果(2)设计表单,制作读者选购图书的界面,当读者选中一本图书后,单击“确定”按钮,页面跳转到介绍该图书信息页面,要求使用response对象sendRedirect方法。答案:读者选购图书页面buyBook2.htm代码如下:选购图书请选择需要的图书: 《Web技术应用基础》《微型计算机原理及应用技术》文件receiveBook2.jsp接收用户的选择并根据用户的选择转向不同的页面,其代码如下:<%Stringbv=request.getParameter("bv");if(bv.equals("")){response.sendRedirect("buyBook2.htm");}elseif(bv.equals("1")){response.sendRedirect("webBook.htm");}elseif(bv.equals("2")){response.sendRedirect("computerBook.htm");}%>图书介绍页面webBook.htm代码如下:Web技术应用基础 《Web技术应用基础》清华大学出版社樊月华主编35.0元图书介绍页面computerBook.htm代码如下:微型计算机原理及应用技术《微型计算机原理及应用技术》机械工业出版社朱金钧麻新旗编著 31.0元文件运行结果如图5.2所示。图5.2上机练习(2)运行结果(3)设计网上考试界面如图8.24所示,应用session对象存储测试数据,当考生完成试题,单击“确定”按钮,将答案与正确答案比较,给出结果和答题所用的时间。图5.3上机练习(3)运行结果答案:考试页面exam.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%><% Stringname=request.getParameter("name");Stringnum=request.getParameter("num");Stringanswer1=request.getParameter("question1");Stringanswer2=request.getParameter("question2");if(name!=null&&num!=null&&answer1!=null&&answer2!=null){session.putValue("name",name);session.putValue("num",num);session.putValue("answer1",answer1);session.putValue("answer2",answer2);%>查看考试结果及答案<%}else{%>考试页面
考试系统

请输入姓名:
请输入考号:


考试时间:<%=((session.getLastAccessedTime()-session.getCreationTime())/1000)%>秒
1.IP协议对应OSI协议中的哪一层:
会话层传输层数据链路层 网络层
2.JSP文件中使用下面哪种语言作为服务器端程序默认的语言:
VC++JavaQbasicJavaScript

<%}%>提交后查看考试结果及答案页面answer.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"import="java.util.Date"%>考试结果
考试结果

<%ObjectQ1=session.getValue("answer1");ObjectQ2=session.getValue("answer2");{if(Q1.equals("4")){out.print("第一题正确
");out.print("正确答案是:网络层。
");}else{ out.print("第一题错误
");out.print("正确答案是:网络层。
");}}{if(Q2.equals("2")){out.print("第二题正确
");out.print("正确答案是:Java。
");}else{out.print("第二题错误
");out.print("正确答案是:Java。
");}}%>提交题目后页面及查看考试结果页面如图5.4所示。图5.4上机练习(3)提交后页面及查看考试结果页面6.6习题1.单选题(1)创建数据表应该用以下()指令。A.INSERTB.CREATEC.SELECTD.UPDATE答案:B(2)创建数据表时如果要指定某一个字段为主键,应该用()参数。A.NOTNULLB.Auto_IncrementC.PrimaryKeyD.Key答案:C(3)要删除数据表中的一条记录应该用以下的()命令。A.INSERTB.DELETEC.SELECTD.UPDATE答案:B2.上机练习(1)启动MySQL的命令行管理工具,用MySQL的建库语句建立一个名为company的数据库。(2)在company库中建立雇员表emp,表的数据项及数据类型如下所示: empnoint(4)notnullprimarykey,enamevarchar(10),jobvarchar(10),hiredatedatetime,salarydouble(3)建立一个JSP文件,通过JDBC连接数据库,然后执行如下操作:l在雇员表emp中插入几行测试数据(英文数据,日期格式为YYYY-MM-DD)。l查看表中的数据。l修改表中的某条记录。l删除表中的某条记录。答案:(1)建库语句为:createdatabasecompany;(2)首先使用下列语句选中company数据库为当前数据库:usecompany;然后通过以下语句建立雇员表emp:createtableemp(empnoint(4),enamevarchar(10),jobvarchar(10),hiredatedatetime,salarydouble,primarykey(empno));(3)l文件jdbcAdd.jsp实现在emp表中插入两条记录并查看插入后表中的数据,其代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%@pagelanguage="java"%><%@pageimport="com.mysql.jdbc.*"%><%@pageimport="java.sql.*"%>往数据库表中插入记录<%//驱动程序名StringdriverName="com.mysql.jdbc.Driver";//数据库用户名StringuserName="root";//密码StringuserPwd="123";//数据库名StringdbName="company";//表名 StringtableName="emp";//连接字符串Stringurl="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPwd;Class.forName("com.mysql.jdbc.Driver").newInstance();java.sql.Connectionconn=DriverManager.getConnection(url);java.sql.Statementstatement=conn.createStatement();Stringsql0="insertinto"+tableName+"values(2,"Mary","manager","2009-03-01",5000)";statement.executeUpdate(sql0);sql0="insertinto"+tableName+"values(3,"Tina","CEO","2009-05-01",50000)";//sql0="insertinto"+tableName//+"values(1,"Tom","worker","2009-03-01",5000)";statement.executeUpdate(sql0);Stringsql1="select*from"+tableName;java.sql.ResultSetrs=statement.executeQuery(sql1);%>插入两条记录后表中的数据雇员编号雇员姓名雇员工作雇用日期雇员工资<%while(rs.next()){%><%=rs.getString(1)%> <%=rs.getString(2)%><%=rs.getString(3)%><%=rs.getString(4)%><%=rs.getString(5)%><%}%><%rs.close();statement.close();conn.close();%>文件运行结果如图6.1所示。图6.1往表中插入两条记录l文件jdbcUpdate.jsp实现将emp表中编号为2的记录的工资修改为6000,并查看插入后表中的数据,其代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%@pagelanguage="java"%><%@pageimport="com.mysql.jdbc.*"%><%@pageimport="java.sql.*"%>更新数据库表中的记录<%//驱动程序名 StringdriverName="com.mysql.jdbc.Driver";//数据库用户名StringuserName="root";//密码StringuserPwd="123";//数据库名StringdbName="company";//表名StringtableName="emp";//连接字符串Stringurl="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPwd;Class.forName("com.mysql.jdbc.Driver").newInstance();java.sql.Connectionconn=DriverManager.getConnection(url);java.sql.Statementstatement=conn.createStatement();Stringsql0="update"+tableName+"setsalary=6000whereempno=2";statement.executeUpdate(sql0);Stringsql1="select*from"+tableName;java.sql.ResultSetrs=statement.executeQuery(sql1);%>更改第二条记录中的工资项后表中的数据雇员编号雇员姓名雇员工作雇用日期雇员工资<%while(rs.next()){%> <%=rs.getString(1)%><%=rs.getString(2)%><%=rs.getString(3)%><%=rs.getString(4)%><%=rs.getString(5)%><%}%><%rs.close();statement.close();conn.close();%>文件运行结果如图6.2所示。图6.2修改表中的数据l文件jdbcDelete.jsp实现将emp表中编号为1的记录删除,并查看插入后表中的数据,其代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%@pagelanguage="java"%><%@pageimport="com.mysql.jdbc.*"%><%@pageimport="java.sql.*"%>删除数据库表中的记录 <%//驱动程序名StringdriverName="com.mysql.jdbc.Driver";//数据库用户名StringuserName="root";//密码StringuserPwd="123";//数据库名StringdbName="company";//表名StringtableName="emp";//连接字符串Stringurl="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPwd;Class.forName("com.mysql.jdbc.Driver").newInstance();java.sql.Connectionconn=DriverManager.getConnection(url);java.sql.Statementstatement=conn.createStatement();Stringsql0="deletefrom"+tableName+"whereempno=1";statement.executeUpdate(sql0);Stringsql1="select*from"+tableName;java.sql.ResultSetrs=statement.executeQuery(sql1);%>删除第一条记录后表中的数据雇员编号雇员姓名雇员工作雇用日期雇员工资<%while(rs.next()){%> <%=rs.getString(1)%><%=rs.getString(2)%><%=rs.getString(3)%><%=rs.getString(4)%><%=rs.getString(5)%><%}%><%rs.close();statement.close();conn.close();%>文件运行结果如图6.3所示。图6.3删除表中的记录7.6习题1.单选题(1)有关JavaBean的说法不正确的是()A.JavaBean其实就是一个Java类B.应用JavaBean可以将表示层和业务逻辑层分开C.编写JavaBean和编写普通的Java类要求一样D.JavaBean降低了JSP程序的复杂度,同时也增加了软件的可重用性 答案:C(1)以下不属于JavaBean作用范围的是()。A.requestB.sessionC.applicationD.scope答案:D(2)JSP中JavaBean是通过指令标签()来访问的。A.<%@page%>B.C.D.答案:B2.上机练习制作一个页面,如图7.8所示,在本页面设置表单提交后页面的背景颜色,文字的大小、字体和颜色。表单提交后转向的页面使用本页面的设置进行显示。要求应用JavaBean完成。表7.8设置页面属性答案:文件pageBean.java定义了实现该功能的JavaBean,文件代码如下:packagebean;importjava.io.*;publicclasspageBean{privateStringbgColor;privateStringtxtSize;privateStringtxtFont;privateStringtxtColor;publicpageBean(){bgColor="green";txtSize="4";txtFont="宋体";txtColor="red";}publicvoidsetbgColor(StringbgColor){this.bgColor=bgColor;}publicStringgetbgColor(){returnthis.bgColor;} publicvoidsettxtSize(StringtxtSize){this.txtSize=txtSize;}publicStringgettxtSize(){returnthis.txtSize;}publicvoidsettxtFont(StringtxtFont){this.txtFont=txtFont;}publicStringgettxtFont(){returnthis.txtFont;}publicvoidsettxtColor(StringtxtColor){this.txtColor=txtColor;}publicStringgettxtColor(){returnthis.txtColor;}}文件pageJavaBean.jsp文件调用定义的JavaBean,通过JavaBean实现页面属性的设置。文件代码如下:<%@pagelanguage="java"import="java.util.*"pageEncoding="GB2312"%><%@pageimport="bean.pageBean"%>通过JavaBean设置页面属性<%request.setCharacterEncoding("GB2312");%>>"face="<%=pageAtr.gettxtFont()%>"size="<%=pageAtr.gettxtSize()%>">JavaBean

背景颜色白色灰色黑色蓝色绿色            文本颜色黑色白色灰色蓝色绿色
 文字大小 4281220      字   体宋体隶书
8.5习题1.单选题(1)MVC中的M是指()。A.ModelB.ViewC.ControllerD.以上都不对答案:A(2)MVC中的V是指()。A.ModelB.ViewC.ControllerD.以上都不对答案:B(3)MVC中的C是指()。A.ModelB.ViewC.ControllerD.以上都不对 答案:C(1)有关struts2的说法不正确的是()A.Struts是一个用于简化MVC框架(Framework)开发的Web应用框架B.应用Struts2不需要进行配置C.Struts2含有丰富的标签D.Struts2采用了WebWork的核心技术答案:B2.上机练习参考例8.2,用Struts2编写一个用户登录的简单Web应用程序。答案:配置文件web.xml文件代码如下:struts2org.apache.struts2.dispatcher.FilterDispatcherstruts2/*loginAction.java文件代码如下:packageuser;importcom.opensymphony.xwork2.ActionSupport;publicclassloginActionextendsActionSupport{privateStringuserName;privateStringpassword;publicStringexecute()throwsException{if(isInvalid(getUserName()))return"fail";if(isInvalid(getPassword()))return"fail"; return"success";}privatebooleanisInvalid(Stringvalue){return(value==null||value.length()==0);}publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}该文件中只要用户名和密码都不为空即可通过验证。struts.xml文件代码如下:/login_failure.jsp/login_success.jsp用户登录界面文件login.jsp文件代码如下:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibprefix="s"uri="/struts-tags"%>登录页面 系统登录文件运行结果如图8.1所示。图8.1用户登录界面登录成功文件login_success.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%>登录成功您已成功登录!登录失败文件login_failure.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%>登录失败对不起,用户名和密码不能为空!文件运行结果如图8.2所示。 图8.2登录成功或失败结果页面9.10习题1.单选题(1)Web应用的数据共享方式不包括()。A.基于请求的共享B.基于会话的共享C.基于页面的共享D.基于应用的共享答案:C(2)以下()不属于Web组件的关联关系。A.请求转发B.包含C.请求重定向D.链接答案:D(3)Web应用典型的会话跟踪方法不包括()。A.使用CookieB.使用对象C.隐藏的表单域D.URL重写答案:B2.上机练习制作一个用户登录界面,用户输入中文用户名后能够在参数接收页面读取用户输入的中文参数并进行显示。答案:用户登录界面userLogin.html代码如下:获取客户提交信息案例姓名:
密码:
接收用户输入并显示文件receiveLogin.jsp文件代码如下:<%@pagecontentType="text/html;charset=gb2312"%>接受用户输入信息并显示<%Stringstr1=newString((request.getParameter("RdName")).getBytes("iso-8859-1"),"gb2312");%><%Stringstr2=newString((request.getParameter("PhName")).getBytes("iso-8859-1"),"gb2312");%>您输入的信息为:
姓名:<%=str1%>
密码:<%=str2%>
文件运行结果如图9.1所示。图9.1上机练习(1)运行结果10.4习题1.单选题(1)有关表达式语言,下面说法不正确的是()。 A.表达式语言只能在JSP2.0版本以后才能使用B.使用表达式语言可以以标记格式方便地访问JSP的隐含对象和JavaBeans组件C.表达式语言是一种通用的程序语言D.表达式语言可以自动进行类型转换答案:C(1)要在页面上输出2+3=${2+3},则对应的程序代码应为()。A.2+3=${2+3}B.2+3=${2+3}C.2+3=/${2+3}D.以上都不对答案:A(2)以下不属于条件求值的是()。A.${3>=8?true:false}B.${6<9?true:false}C.${6<9?6:9}D.${6<9}答案:D(3)下面有关EL中“.“和“[]“两种存取运算符的说法不正确的是()A.两者在某些情况下是等效的B.“[]“运算符主要用来访问数组、列表或其他集合C.如果要动态取值时,两者都可以实现D.当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用“[]“答案:C2.上机练习(1)编写程序,用EL输出图10.9所示的页面内容。图10.9程序输出结果答案:文件exOperator.jsp代码如下:<%@pagecontentType="text/html;charset=gb2312"%>运算符举例
算术和比较运算符条件运算符表达式结果表达式结果${5*7}${5*7}${9>5?true:false}${9>5?true:false}${60>=20}${60>=20} ${"a">"A"?"a":"A"}${"a">"A"?"a":"A"}
(2)编写一个简单的JavaBean,通过EL的存取运算符访问其属性。答案:文件userLogin.java定义了一个用户Bean,包含姓名、密码和电子邮件3个属性,其代码如下:packagebean;publicclassuserLogin{privateStringuserName;privateStringpassword;privateStringemail;publicuserLogin(){userName="李平";password="123";email="liping@sohu.com";}publicvoidsetuserName(StringuserName){this.userName=userName;}publicStringgetuserName(){returnthis.userName;}publicvoidsetpassword(Stringpassword){this.password=password;}publicStringgetpassword(){returnthis.password;}publicvoidsetemail(Stringemail){this.email=email; }publicStringgetemail(){returnthis.email;}}文件accessBean.jsp使用EL的存取运算符获取JavaBean的属性,其代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="bean.userLogin"%>使用存取运算符访问JavaBean的属性用户名:${user.userName}
密码:${user.password}
电子邮箱:${user.email}
文件accessBean.jsp运行结果如图10.1所示。图10.1上机练习(2)运行结果11.8习题 1.单选题(1)以下有关JSTL的说法不正确的是()A.JSTL就是一个JSP标签库B.核心标签库为日常任务提供通用支持C.国际化标签库支持多语种的应用程序D.函数标签库提供了许多用于XML处理的标准EL函数答案:D (1)要使用JSTL的核心标签库,需要在JSP源文件的首部加入如下声明语句()A.<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>B.<%@taglibprefix=”x”uri=”http://java.sun.com/jsp/jstl/xml”%>C.<%@taglibprefix=”fmt”uri=”http://java.sun.com/jsp/jstl/fmt”%>D.<%@taglibprefix=”sql”uri=”http://java.sun.com/jsp/jstl/sql”%>答案:A(2)以下()标签用于实现循环功能,类似与Java语句中的for循环。A.B.C.D.答案:B(3)以下()标签用来解析XML文件。A.B.C.D.答案:C(4)以下()标签用于格式化日期和时间并按照设定的格式给予输出。A.B.C.D.答案:A2.上机练习(1)用标签来实现判断一个整数是否大于100,并输出判断结果。答案:文件exIfTag代码如下:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>c:if使用示例整数小于100=100}"var="intCheck">整数大于等于100图11.1上机练习(1)运行结果(2)制作用户登录界面,根据用户输入的用户名和密码是否正确,分别用标签转向登录成功页面和登录失败页面。 答案:文件login.html为用户登录界面,其代码如下:登录页面用户名
密 码
文件运行结果如图11.2所示。图11.2上机练习(2)登录界面。文件receiveLogin.jsp接收用户输入的用户名和密码,并根据用户输入转向不同的页面。其代码如下:<%@pagecontentType="text/html;charset=gb2312"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>接受用户输入信息并转向不同页面<%request.setCharacterEncoding("gb2312"); StringuserName=request.getParameter("userName");Stringpassword=request.getParameter("password");if(userName.equals("李平")&&password.equals("123")){%><%}if(!userName.equals("李平")||!password.equals("123")){%><%}%>文件login_success.jsp为登录成功后的转向页面,其代码如下:<%@pagecontentType="text/html;charset=gb2312"%>登录成功您已成功登录!文件login_failure.jsp为登录失败的转向页面,其代码如下:<%@pagecontentType="text/html;charset=gb2312"%>登录失败对不起,您输入的用户名或密码错误!文件运行结果如图11.3所示。 图11.3登录成功和失败页面(3)分别用不同国家的货币符号和货币输出格式输出一个货币值。答案:文件outCurrency.jsp文件代码如下:<%@pagecontentType="text/html;charset=GB2312"%><%@taglibprefix="fmt"uri="http://java.sun.com/jsp/jstl/fmt"%><%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>不同格式输出货币值
用不同格式输出货币值

人民币格式为:
美元格式为:
港币格式为:
文件运行结果如图11.4所示。图11.4上机练习(3)运行结果'

您可能关注的文档

相关文档

最近下载