JAVA WEB程序设计第4章
- 格式:pdf
- 大小:142.62 KB
- 文档页数:2
第4章习题解析1. 答:使用请求对象(即HttpServletRequest接口)的getSession()方法。
2. 答:如果客户在指定时间内没有访问服务器,则该会话超时。
对超时的会话对象,服务器使其失效。
通过会话对象的setMaxInactiveInterval()方法设置会话最大超时时间。
web.xml文件使用<session-config>元素的子元素<session-timeout>设置最大超时时间,如下所示。
<session-config><session-timeout>20</session-timeout></session-config>这里的最大超时时间是对整个应用程序的所有会话有效,<session-timeout>元素指定的时间单位是分钟。
setMaxInactiveInterval()方法参数单位是秒。
3. 答:有些客户浏览器可能不支持Cookie或用户阻止所有的Cookie,此时不能用Cookie 实现会话。
4. 答:使用响应对象(即HttpServletResponse接口)的encodeURL()方法或encodeRedirectURL()方法。
5. 答:不能。
因为许多用户是通过代理服务器访问Internet的,此时服务器得到的是代理服务器的IP地址而不是实际用户的IP地址,因此这些用户的IP地址不唯一。
6. 答:D7. 答:A, B8. 答:A, D9. 答:C 10. 答:A,C 11. 答:C12. 答:C, D 13. 答:B,C 14. 答:C15. 答:B 16. 答:A 17. 答:C18. 答:A,B,D,F19. 答:具有很大的影响。
该应用程序将不能维护用户的状态。
Servlet容器将为每个客户的每次请求都创建一个新的会话。
修改这个问题的唯一方法是修改Servlet代码加入URL重写功能。
《JavaWeb程序设计》练习题参考答案第一章:Servlet基础1、下列选项中属于动态网站技术的是_________(多选)答:PHP/ASP/JSPA、PHPB、ASPC、JavaScriptD、JSP参考答案:PHP(Hypertext Preprocessor):超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP开放源代码,并且是免费的,所以非常流行,是当今Internet上最为火热的脚本语言之一。
ASP(Active Server Pages):是一种类似HTML、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的支持大型网站的开发。
JSP(Java ServerPages):是基于Java Servlet以及Java体系的Web开发技术。
能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态网站技术中最好的。
2、下列关于Servlet的说法正确的是_______(多选)A、Servlet是一种动态网站技术B、Servlet运行在服务端C、Servlet针对每个请求使用一个进程来处理D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持参考答案:Servlet是一种动态网站技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。
所以Servlet 的效率更高3、下列关于Servlet的编写方式正确的是______(多选)A、必须是HttpServlet的子类B、通常需要覆盖doGet() 和doPost()方法或其一C、通常需要覆盖service()方法D、通常要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素参考答案:A、B、D必须继承Httpservlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是HttpServlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。
Java Web 程序设计教程(范立锋、林果园编著)第4章 SQL与JDBC 习题答案1.简述SQL的组成部分。
SQL语言由以下3部分组成,分别是:数据库模式定义语言(DDL):CREATE、DROP、ALTER等语句。
数据操纵语言(DML):INSERT、UPDATE、DELETE、SELECT语句。
数据控制语言:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
2.简述JDBC的执行步骤。
①加载JDBC驱动程序通过静态类Class类加载数据库驱动。
②取得数据库连接通过DriverManager类中的getConnection()获取数据库的连接对象Connection③执行各种SQL语句将Connection对象转换成Statement对象,通过该对象的executeUpdate()执行添加、修改以及删除的SQL语句。
④获取查询结果将Connection对象转换成Statement对象,通过该对象的executeQuery()执行查询的SQL语句,该方法返回ResultSet对象。
⑤关闭数据库连接通过Connection对象的close()方法关闭数据库连接,并抛出异常。
3.Statement对象可以处理哪些类型的SQL语句,处理这些SQL语句的主要方法是什么?Statement接口的executeUpdate(String sql)方法将执行添加(insert)、修改(update)和删除(delete)的SQL语句,执行成功后,将返回一个int型数值,该数值为影响数据库记录的行数。
该接口还可以通过executeQuery()方法查询的SQL语句。
4.PreparedStatement对象可以处理哪些类型的SQL语句,处理这些SQL语句的主要方法是什么?PreparedStatement接口的executeUpdate(String sql)方法将执行添加(insert)、修改(update)和删除(delete)的SQL语句,执行成功后,将返回一个int型数值,该数值为影响数据库记录的行数。
java web程序设计教程课后答案第1章 Web应用开发简介习题答案1.Web在组成上包括______和______两部分。
答案:服务器客户端2.谈谈对面向对象的认识。
答案:面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。
面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。
面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。
3.介绍几种常用的框架技术。
答案:Java中常用的框架。
1.StrutsStruts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。
2.WebWorkWebWork是由OpenSymphony组织开发的,是一个基于Web的MVC 框架。
它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。
3.Struts 2Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。
4.SpringSpring是一个以IoC和AOP为核心的轻量级容器框架。
它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众多的企业级应用技术。
5.HibernateHibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。
通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。
6.Ibatis相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。
Java Web程序设计智慧树知到课后章节答案2023年下青岛职业技术学院青岛职业技术学院第一章测试1.Java诞生于()A:1995年1月B:1996年1月 C:1994年1月 D:1997年1月答案:1995年1月2.JSP是由()公司推出的。
A:微软 B:Macromedia C:IBM D:Sun答案:Sun3.以下哪种服务器不可运行JSP程序?()A:Tomcat B:Sun C:ASP D:Resin答案:Sun4.Tomcat是一种免费Web服务器,可以处理关于HTML、()和Servlet的请求。
A:C# B:ASP C:PHP D:JSP答案:JSP5.以下不属于3p语言的是()。
A:PHP B:JSP C:XML D:答案:XML6.html代码开始和结束的标记是()A:<body> </body> B: <style> </style> C: <javaScript> </javaScript> D:<html> </html>答案:<html> </html>7.<title></title>标记在<head></head>标记之间,<title></title>标记之间的内容将显示到()A:浏览器的标题栏上 B:浏览器的状态栏中 C:浏览器的页面上部 D:浏览器的页面下部答案:浏览器的标题栏上8.下列哪一个标签是换行标签()A:<br> B:<body> C:<tr> D:<p>答案:<br>9.在网页中,必须使用()标记来完成超级链接。
A:<a></a> B:<p></p> C:<li></li> D:<link></link>答案:<a></a>10.要在表单中创建一个多行文本输入框,初始值为:这是一个多行文本框。
《JavaWeb程序设计》练习题参考答案第一章:Servlet基础1、下列选项中属于动态网站技术的是_________(多选)答:PHP/ASP/JSPA、PHPB、ASPC、JavaScriptD、JSP参考答案:PHP(Hypertext Preprocessor):超文本预处理器,其语法大量借鉴C、Java、Perl等语言,只需要很少的编程知识就能使用PHP建立一个真正交互的Web站点,由于PHP 开放源代码,并且是免费的,所以非常流行,是当今Internet上最为火热的脚本语言之一。
ASP(Active Server Pages):是一种类似HTML、Script与CGI结合体的技术,他没有提供自己专门的编程语言,允许用户使用许多已有的脚本语言编写ASP应用程序局限于微软的IIS,般只适用于中小型站点,但目前ASP升级演变而来的支持大型网站的开发。
JSP(Java ServerPages):是基于Java Servlet以及Java体系的Web开发技术。
能在大部分服务器上运行,而且易于维护和管理,安全性能方面也被认为是三种基本动态网站技术中最好的。
2、下列关于Servlet的说法正确的是_______(多选)A、Servlet是一种动态网站技术B、Servlet运行在服务端C、Servlet针对每个请求使用一个进程来处理D、Servlet与普通的Java类一样,可以直接运行,不需要环境支持参考答案:Servlet是一种动态网站技术,是运行在服务器端,Servlet针对每个请求使用一个线程来处理,而不是启动一个进程,传统的CGI为每次请求启动一个进程来处理。
所以Servlet的效率更高3、下列关于Servlet的编写方式正确的是______(多选)A、必须是HttpServlet的子类B、通常需要覆盖doGet() 和doPost()方法或其一C、通常需要覆盖service()方法D、通常要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素参考答案:A、B、D必须继承Httpservlet类,不需要覆盖servlce()方法,service()方法是Servlet接口中的方法,Servlet是HttpServlet的父类,该方法会根据请求类型选择执行doGet()或doPost()方法。
java web程序设计课程设计一、课程目标知识目标:1. 理解Java Web程序设计的基本原理,掌握Web应用的结构和开发流程;2. 学会使用Java EE技术栈,包括Servlet、JSP和JSTL,实现动态网页的生成与处理;3. 掌握关系型数据库的基本操作,能够运用JDBC进行数据持久化;4. 了解常用的设计模式在Java Web开发中的应用。
技能目标:1. 能够独立搭建Java Web开发环境,完成基本项目的构建与部署;2. 掌握运用Servlet处理客户端请求,实现前后端的数据交互;3. 熟练运用JSP和JSTL标签库,编写动态网页,提高代码的可读性和维护性;4. 学会运用JDBC进行数据库连接、查询、更新和删除等操作;5. 能够运用所学知识,完成一个简单的Java Web应用项目。
情感态度价值观目标:1. 培养学生对Java Web程序设计的兴趣和热情,激发主动学习的动力;2. 培养学生团队协作精神,学会在项目中分工合作,共同解决问题;3. 培养学生良好的编程习惯,注重代码规范和优化,提高代码质量;4. 引导学生关注网络安全和用户隐私,树立正确的网络道德观念。
本课程针对高年级学生,结合Java Web程序设计的学科特点,注重理论与实践相结合,旨在提高学生的编程技能和项目实践能力。
课程目标具体、可衡量,以便学生和教师在教学过程中能够明确课程预期成果,并为后续的教学设计和评估提供依据。
二、教学内容1. Java Web开发环境搭建:介绍Java EE开发环境,包括JDK安装、IDE使用、Tomcat服务器配置等。
- 教材章节:第1章 Java Web开发基础2. Servlet技术:讲解Servlet的生命周期、请求与响应处理、会话管理。
- 教材章节:第2章 Servlet技术3. JSP和JSTL:介绍JSP页面开发,包括页面指令、脚本语言、标准标签库JSTL。
- 教材章节:第3章 JSP技术;第4章 JSTL标签库4. 数据库连接技术:讲解JDBC的使用,包括数据库驱动、连接池、SQL语句编写。
第4章Java Web编程习题解析4.1 第1章习题解析1. 略。
2. 答:URL称为统一资源定位符,URL通常由4部分组成:协议名称、页面所在主机的DNS名、可选的端口号和资源的名称。
URI称为统一资源标识符,是以特定语法标识一个资源的字符串。
URI由模式和模式特有的部分组成,它们之间用冒号隔开,一般格式如下:schema:schema-specific-partURI是URL和URN的超集。
3. 答:①是URL,①和②都是URI,③是URN4. 答:动态Web文档技术包括服务器端动态文档技术和客户端动态文档技术,前者包括CGI技术、服务器扩展技术和HTML页面中嵌入脚本技术。
其中HTML页面中嵌入脚本技术包括ASP、PHP和JSP技术。
最流行的客户端动态文档技术是在HTML页面中嵌入JavaScript脚本代码。
使用JavaScript可以设计交互式页面。
与服务器端动态文档不同,JavaScript脚本是在客户端执行的。
5. 答:Servlet是用Servlet API开发的Java程序,它运行在Servlet容器中。
Servlet 容器是运行Servlet的软件,主要用来扩展Web服务器的功能。
6. 答:开发Servlet的一般步骤包括:(1)编写Servlet源程序;(2)编译;(3)将Servlet部署到Servlet容器中;(4)访问执行Servlet。
7. 答:<tomcat-install>\lib\servlet-api.jar文件。
8. 答:部署描述文件名是web.xml,它是XML文件,应该存放在Web应用程序的\WEB-INF目录中。
9. 答:当服务器找不到用户请求的资源时将发生404错误。
10. 答:JSP页面是嵌入了Java脚本元素的HTML页面。
11. 答:Servlet主要用来实现业务逻辑和控制逻辑,JSP页面主要用来实现表示逻辑。
4.2 第2章习题解析1. 答:Servlet接口定义了下面5个方法:public void init(ServletConfig config)public void service(ServletRequest request, ServletResponse response) throws ServletException, IOExceptionpublic void destroy()public ServletConfig getServletConfig()public String getServletInfo()2. 答:Servlet是在容器中运行的组件,有一个从创建到销毁的过程,其中包括加载和实例化、初始化、提供服务以及销毁几个阶段。
《Java Web程序设计》课程第4章章节检测
一、选择题:(每题4分,共40分)
1、假设myObj是一个对象的引用,ml()是该对象上一个合法的方法。
下面的JSP结构哪个是合法的?(B)
A.<%myObj.ml()%>
B.<%=myObj.ml()%>
C.<%myObj.ml();%>
D.<%=myObj.ml();%>
2、说明下面代码哪些是合法的JSP结构?(BC)
A.<%=myObj.ml();%>
B.<%int x=4,y=5;%>
C.<%!Int getI(int i){return i;}%>
D.<%myObj.ml();%>
3、下面哪个page指令是合法的?(A)
A.<%@page pageEncoding="utf-8"%>
B.<%!page pageEncoding="utf-8"%>
C.<%page pageEncoding="utf-8"%>
D.<%@Page pageEncoding="utf-8"%>
4、下面哪个page指令是合法的?(B)
A.<%@page import="java.util.*java.text.*"%>
B.<%@page import="java.util.*,java.text.*"%>
C.<%@page import="java.util.*","java.text.*"%>
D.<%@page buffer="true"%>
5、下面哪些是合法的JSP隐含变量?(CD)
A.stream
B.context
C.exception
D.application
6、下面关于JSP生命周期方法,哪个是正确的?(A)
A.只有jspInit()可以被覆盖
B.只有jspDestroy()可以被覆盖
C.jspInit()和jspDestroy()都可以被覆盖
D.jspInit()、_jspService()和jspDestroy()都可以被覆盖
7、下面哪个JSP标签可以再请求时把另一个JSP页面的结果包含到当前页面中?(B)
A.<%@page import%>
B.<jsp:include>
C.<jsp:plugin>
D.<%@include%>
8、在一个JSP页面中要把请求转发到view.jsp页面,下面哪个是正确的?(B)
A.<jsp:forward file="view.jsp"/>
B.<jsp:forward page="view.jsp"/>
C.<jsp:dispatch file="view.jsp"/>
D.<jsp:dispatch page="view.jsp"/>
9、下面哪个说法是正确的?(A)
A.<%@include file="right.jsp?name=hacker"%>语法结构是正确的
B.<%@include file="<%=str%>"%>语句是合法的
C.<%@include file="right.jsp"%>属于动态包含
D.以上都不正确
10、对于<jsp:getProperty name="users"property="username">,下面哪个说法是正确的?(A)
值必须与<jsp:useBean>中的id值一致
值必须与<jsp:useBean>中的name值一致
C.property值必须与类UserInfo中的属性username一致
D.property值不必与类UserInfo中的属性username一致
二、简答题:(每题15分,共60分)
1、下面的JSP代码输出结果是什么?为什么?
<%int x=3;%>
<%!int x=5;%>
<%!int y=6;%>
x与y的和是:<%=x+y%>
2、下面的JSP代码有3处错误,请一一指出并改正。
<%@page contentType=”text/html;charset==utf-8"%>
<html><body>
<%!int count=0%>
<%count++;%>
该页面已被访问<%=count;%>次.
</body></html>
答:设置编码格式:<%@page pageEncoding="utf-8"%>
<%!int count=0;%>
<%=count%>
3、下面左边一栏是JSP元素类型,右边是对应名称,请连线。
(下边是答案)
<%Float one=new Float(88.88)%>小脚本
<%!int y=3;%>声明
<%@page import="java.util.*"%>指令
<jsp:include page="foo.jsp"/>动作
<%=p ageContext.getAttribute("foo")%>表达式
email:${applicationScope.mail}EL表达式
4、下面的代码有什么错误?写出正确代码。
<jsp:useBean id="customer"class="com.model.Customer"beanName="businessDat a.visitorCustomeres.John"/>
<jsp:setProperty param="phone"name="customer"value="FL"/>
答:应该是:
<jsp:useBean id="customer"class="com.model.Customer"beanName="busines sData.visitorCustomeres.John">
<jsp:setProperty param="phone"name="customer"value="FL"/> </jsp:useBean>。