第八章 Servlet技术习题

合集下载

servlet-练习

servlet-练习

1. 在JSP中,要定义一个方法,需要用到以下的元素是()。

A. <%= %>B. <% %>C. <%! %>D. <%@ %>正确答案:C2. 在Java Web开发中,不同的客户端需要共享的数据应存储在()中。

A. sessionB. applicationC. requestD. response正确答案:B3. login.jsp为登录页面,表单代码如下:<form action="index.jsp" method="post"><input type="text" name="pwd"/><input type="submit" value="登录"/></form>index.jsp中直接显示密码,以下代码正确是:()。

A. ${requestScope.pwd}B. <%=pwd%>C. ${param.pwd}D. <%=param.pwd%>正确答案:C4. JSP文件代码如下:<% int temp; %><h1> temp is <%=temp%></h1> 编译或运行结果是:()。

A. 输出:temp is 0B. 输出:temp isC. 编译出错,因为temp没有被初始化D. 输出:temp is null正确答案:C5. 在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件可以为:()。

A. .jsp文件B. .class文件C. .jar文件D. web.xml文件正确答案:A6. 在JavaEE中,使用Servlet 过滤器,需要在web.xml中配置的元素是:()A. <servlet>和<servlet-mapping>B. <filter>和<filter-mapping>C. <servlet-filter>D. <filter-config>正确答案:B7. 下面为部署文件中的Servlet映射代码片段,正确的是:( )A. <servlet-mapping><servlet>Demo</servlet><url-pattern>/demo</url-pattern></servlet-mapping>B.<servlet-name><servlet-mapping>demo</servlet-mapping><url-pattern>/Demo</url-pattern></servlet-name>C.<servlet-mapping><servlet-name>Demo</servlet-name><url-pattern>/demo/*</url-pattern></servlet-mapping>D.<servlet><servlet-name>Demo</servlet-name><url-pattern>/demo/*</url-pattern></servlet >正确答案:C8. 下列代码的输出结果是()。

基本功训练_Servlet技术

基本功训练_Servlet技术

同学们,这些小例题虽然很简单,但是可以锻炼一下大家对于本节课相关小模块的思维能力。

这都是按照我自己的习惯手打出来的,很多都是我自己风格的代码直接复制过来的,可能很多同学看着会不习惯。

希望大家好好看看,不要求你一个字一个字去读,只要你能理解每道题目中含有什么信息,以后遇到了这样一个情境能会去运用就行。

其中,红色的标出的部分一般是这个小模块是干嘛的,类似于题目要求,意思就是当你看到以后,能有个条件反射应该怎么实现。

黑色加粗是需要了解的概念,黄色部分是拓展,表格里面的是源代码,你们并不需要刻意去跟我写得一样,只要这些功能你们能自己实现就行了。

千万不要把程序写死了哈,最后希望我跟同学们一起学习,共同进步。

既然选择了远方,就注定风雨兼程。

―――――――写在前面基本功训练一:在Servlet中实现请求转发在实际的网站开发中,请求转发是最常见的,在Servlet中实现页面转发,使用的是RequestDispatcher对象的forward()方法。

可以在Servlet中通过forward()方法将当前的请求转发到其他web组件(Servlet、JSP、HTML)。

下面的例子关键点是如何在Servlet 中控制请求转发,在文本框中输入用户名和密码,单击“登录按钮,如果用户名和密码输入正确则页面转发到成功页,否则页面将跳转到失败页。

运行结果如下图所示:图1-1 登陆页面图1-2 成功页图1-3 失败页2) ForwardServlet 关键代码:【思维扩展】当在Servlet中验证用户名和密码失败时,将页面跳转到index.jsp首页面。

也可以在错误页中定义一个变量,根据变量值的不同来判定显示结果。

基本功训练二:在Servlet中处理表单提交的数据Java Web的核心组件Servlet的主要功能就是处理客户端的表单请求数据,然后再Servlet中首先对这些数据进行验证,然后可能会封装到JavaBean,接下来调用数据库的业务逻辑方法将数据保存或者进行其他操作,最后Servlet控制将响应结果返回到客户端。

强化练习-Servlet

强化练习-Servlet

Ⅰ.选择题1、基于HTTP协议的Servlet通常继承______, 也可以继承_______。

这些类型都实现了接口________。

A.B. 答案:C B A2、MVC模式的优势有哪些(三个答案)A MVC模式使应用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据层、用户界面和应用流程控制这三个层次,能够增强代码的稳定性。

B MVC模式实现了很好的分布式组件架构;C 对于项目开发而言,MVC三层的分离有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。

D MVC模块功能的划分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。

3、在Servlet中使用硬编码的HTML输出作为请求的响应具有哪些严重缺陷(三个答案)A 很难对HTML做出修改,因为每次修改都必须重新编译Servlet。

B 由于HTML是硬编码的,所以维护不同的语言很困难。

判断用户的语言、所处的地区以及其他变化情况,然后再显示输出非常困难。

C 当在Servlet中混合使用HTML和Java代码时,就很难分清页面设计和编程的职责。

D 很难做出动态的相应。

4、下述Servlet的处理流程中表述不正确的步骤是:A 客户端发送一个请求至服务器端;服务器将请求信息发给Servlet;B Servlet引擎,也就是ejb容器会调用Servlet的service方法;C Servlet构建一个响应,并将其传给服务器。

这个响应是动态构建的,相应的内容通常取决于客户端的请求,这个过程中也可以使用外部资源。

D 服务器将响应返回给客户端。

答案:B5、以下哪个方法不是Servlet的生命周期接口定义的A init()B service()C destroy()D create()答案:D6、以下是文档的一部分:<servlet><servlet-name> Display </servlet-name><servlet-class> </servlet-class><load-on-startup> 2 </load-on-startup></servlet><servlet><servlet-name> Search </servlet-name><jsp-file> /search/ </jsp-file><load-on-startup> 1 </load-on-startup></servlet>请问以上文档中的设置是指示服务器首先装载和初始化哪个servletA DisplayB DisplayServletCD 由生成的servlet答案:D7、以下有关Servlet常用的请求头的含义说法错误的是:A Accept-Language头指出客户端倾向的语言。

Servlet习题

Servlet习题
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”); doGet(reauest,response); } }
6. 下面选项中,创建 Servlet 类后需要在哪个配置文件中进行配置
A、web-config.xml B、application.xml C、config.xml D、web.xml
7. 一个 Servlet 可以被映射成虚拟路径的个数是( )
A、1 B、2 C、0 D、多
8. 下面关于 Servlet 生命周期的描述,错误的是( )
14. 面选项中, 用于根据虚拟路径得到文件的真实路径的方法是( )
A、String getRealPath(String path) B、URL getResource(String path) C、Set getResourcePaths(String path) D、InputStream getResourceAsStream(String path)
B、<servlet> <servlet-name> syxy.Student </servlet-name> <servlet-value> /start/*</servlet-class> </servlet>

jsp servlet练习题

jsp servlet练习题

jsp servlet练习题JSP(Java Server Pages)和Servlet是Java Web开发中非常重要的两个技术。

JSP和Servlet相互依赖,可以协同工作来创建动态的web 页面和处理用户请求。

为了帮助读者更好地掌握和理解JSP和Servlet 的使用,下面给出了一些练习题供大家练习。

1. 编写一个简单的JSP页面,展示一个Hello World的欢迎消息。

2. 创建一个Servlet,能够接收用户输入的用户名和密码,并验证是否正确。

3. 编写一个JSP页面,展示一个注册表单,包括用户名、密码和确认密码,并使用JavaScript验证表单的有效性。

4. 创建一个Servlet,接收用户提交的学生信息(包括姓名、年龄、性别等),并将其保存到数据库中。

5. 编写一个JSP页面,用于展示一个学生信息列表,从数据库中读取学生信息并动态生成表格。

6. 创建一个Servlet,实现文件的上传和下载功能。

7. 编写一个JSP页面,展示一个购物车功能,用户可以添加商品到购物车,并显示购物车的商品列表和总价。

8. 创建一个Servlet,实现用户的登录和注销功能,用户登录后可以访问受保护的页面。

9. 编写一个JSP页面,展示一个新闻列表,从数据库中读取新闻信息并以分页的形式展示。

10. 创建一个Servlet,接收用户提交的评论内容,并将其保存到数据库中。

以上是一些JSP和Servlet的练习题,通过实践这些题目,可以更好地掌握和理解JSP和Servlet的使用。

希望读者可以充分利用这些练习题,加深对JSP和Servlet的学习和应用。

注意:在完成练习题时,可以根据具体需求进行适当的扩展和修改,以增强练习的难度和完整性。

同时,还可以通过查阅相关文档和参考资料来获取更多的JSP和Servlet知识,为实际项目的开发打下坚实的基础。

Servlet习题

Servlet习题

Servlet习题1 、Servlet执行时一般实现哪几个方法?public void init(ServletConfig config)public ServletConfig getServletConfig()public String getServletInfo()public void service(ServletRequest request,ServletResponse response)public void destroy()2 、说一说Servlet的生命周期?servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。

这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

3 、JAVA SERVLET API中forward() 与redirect()的区别?前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。

这样,从浏览器的地址栏中可以看到跳转后的链接地址。

所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。

在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

servlet笔试题

servlet笔试题

Servlet笔试题一、选择题(20题,40分, 多选题选不全或选错都不得分。

)1.销毁一个session对象,应当调用下面哪一个方法()A. session.invalidate()B. session.expunge()C. session.destroy()D. session.end()2.以下哪个说法是正确的?(多选)( )A. 每个Http请求对应一个单独的ActionServlet实例B. 对于每个请求访问HelloAction的Http请求,struts框架只创建一个单独的HelloAction实例C. 每个子应用对应一个单独的RequestProcessor实例D. 每个子应用对应一个单独的web.xml文件3.在J2EE中,Servlet从实例化到消亡是一个生命周期。

下列描述不正确的是()。

A. 在典型的Servlet生命周期模型中,每次Web请求就会创建一个Servlet实例,请求结束 Servlet就消亡了B. init()方法是容器调用的Servlet实例的第一个方法C. 在包容器把请求传送给Servlet之后,和在调用Servlet实例的doGet或者doPost方法之前,包容器不会调用Servlet实例的其他方法D. 在Servlet实例消亡之前,包容器调用Servlet实例的destroy()方法4. 编写Servlet 的doPost方法时,需要抛出异常为()。

A. ServletException, IOExceptionB. ServletException, RemoteExceptionC. HttpServletException, IOExceptionD. HttpServletException, RemoteException5. 在Servlet里,能实现重定向的两个方法是()。

A. 运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法B. 运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法C. 运用javax.servlet.RequestDispatcher接口的forward方法D. 运用javax.servlet.ResponseDispatcher接口的forward方法6. HTTP协议的全称是()。

java eeServlet习题

java eeServlet习题

Servlet习题一、填空题1.在Servlet开发中,当我们要自定义一个Servlet时,可以继承(GenericServlet )或HttpServlet类。

2.在web.xml文件中,一个<servlet-mapping>元素用于映射一个Servlet的对外访问路径,该路径也称为(虚拟路径)3.在Servlet开发中,实现了多个Servlet之间数据共享的对象是( ServletContest )4.Servlet接口中的(init())方法载入时执行,且只执行一次,负责对Servlet进行初始化5.HttpServlet类中的doGet和doPost方法通常抛出(ServletException )和IOException异常。

6.在RequestDispatcher接口中,实现请求转发的方法是(forward() )二、简答题1.请列举Servlet接口中的方法,并分别说明这些方法的特点及作用。

Servlet接口有init、service、destroy、getServletConfig和getServletInfo这5个方法,这些方法的特点及其作用具体如下1、init(ServletConfig config) 方法,该方法在服务器对 Servlet 第一次访问时调用,负责 Servlet 初始化工作。

在一个 Servlet 的生命周期中只执行一次。

该方法接收一个 ServletConfig 类型的参数, Servlet 容器可以通过这个参数向 Servlet 传递初始化配置信息。

2、service(ServletRequest request , ServletResponse response) 方法,该方法负责响应用户的请求,当容器接收到客户端访问 Servlet 对象的请求时,就会调用此方法。

3、destroy() 方法,该方法方法负责释放 Servlet 对象占用的资源。

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

第八章 Servlet技术
一、选择题
1.下面对Servlet、Applet的那一项描述错误?()A)Servelt与Applet相对应
B)Applet运行在客户端浏览器
C)Servlet运行在Web服务器端
D)Servlet和Applet不可以动态从网络加载2.下面哪一项不在Servlet的工作过程中?()A)服务器将请求信息发送至Servlet
B)客户端运行Applet
C)Servlet生成响应内容并将其传给服务器
D)服务器将动态内容发送至客户端
3.下列哪一项不是Servlet中使用的方法?()A)doGet() B)doPost() C)service() D)close()
4.关于MVC架构的缺点,下列的叙述哪一项是不正确的?()
A)提高了对开发人员的要求 B)代码复用率低C)增加了文件管理的难度 D)产生较多的文件5.下面哪一项对Servlet、JSP的描述错误?()
A)HTML、Java和脚本语言混合在一起的程序可读性较差,维护起来较困难。

B)JSP技术是在Servlet之后产生的,它以Servlet 为核心技术,是Servlet技术的一个成功应用。

C)当JSP页面被请求时,JSP页面会被JSP引擎翻译成Servelt字节码执行
D)一般用JSP来处理业务逻辑,用Servlet来实现页面显示。

6.下面哪一项对Servlet、JSP的描述错误?()A)Servlet可以同其他资源交互,例如文件、数据库
B)Servlet可以调用另一个或一系列Servlet
E)服务器将动态内容发送至客户端
E)Servlet在表示层的实现上存在优势
7.下面哪一项对Servlet描述错误?()A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口
B)Servlet接口定义了Servelt的生命周期方法C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程
D)Servlet客户线程调用service方法响应客户的请求
8.下面哪一项对Servlet描述错误?()A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口
B)Servlet接口定义了Servelt的生命周期方法C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程
D)Servlet客户线程调用service方法响应客户的请求
9.下面Servlet的哪个方法载入时执行,且只执行一次,负责对Servlet进行初始化。

()
A)service() B)init()
C)doPost() D)destroy()
10.下面Servlet的哪个方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次它就会被调用一次。

()
A)service() B)init()
C)doPost() D)destroy()
11.下面哪个方法当服务器关闭时被调用,用来释放Servlet所占的资源。

()
A)service() B)init()
C)doPost() D)destroy()
12.部署Servlet,下面哪一项描述错误?()
A)必须为Tomcat编写一个部署文件。

B)部署文件名为web.xml
C)部署文件在Web服务目录的WEB-INF子目录中D)部署文件名为Server.xml
13.下面是一个Servlet部署文件的片段:<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>myservlet.example.FirstServlet< /servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/helpHello</url-pattern>
</servlet-mapping>
Servlet的类名是()
A)FirstServlet B)Hello
C)helpHello D)/helpHello
14.下面是Servlet调用的一种典型代码:<%@ page
contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %>
<html><body bgcolor=cyan>
<a href="helpHello">访问FirstServlet</a>
</body></html>
该调用属于下述哪种。

()
A)url直接调用 B)超级链接调用
C)表单提交调用 D)jsp:forward调用15.下面是Servlet调用的一种典型代码:<%@ page
contentType="text/html;charset=GB2312" %> <%@ page import="java.sql.*" %>
<html>
<body bgcolor=cyan>
<jsp:forward page="helpHello"/>
</body>
</html>
该调用属于下述哪种。

()
A)url直接调用 B)超级链接调用
C)表单提交调用 D)jsp:forward调用
二、判断题
1.Servelt是使用Java Servlet API所定义的相关类和方法的Java程序,它运行在启用Java的Web
服务器或应用服务器端,用于扩展该服务器的能力。

()
2.当用户请求一个Servlet时,服务器都会创建Servlet实例响应,响应用户请求。

()3.Servlet功能强大,体系结构先进,但它在表示层的实现上存在一些缺陷。

()
4.JSP技术是在Servlet之后产生的,它以Servlet 为核心技术,是Servlet技术的一个成功应用。

()
5.一般用JSP来实现页面,用Servlet来处理业务逻辑。

()
6.当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程而不是启动一个线程。

()7.用户开发一个Servlet时,必须直接或间接实现Servlet接口所定义的方法。

()
8.Servlet的部署文件是一个xml文件,文件名为web.xml,它保存在Web服务目录的WEB-INF子目录中。

()
9.HttpSession API是一个基于Cookie或者URL重写机制的高级会话管理接口。

如果浏览器支持
Cookie则使用Cookie,如果不支持Cookie则自动采用URL重写。

()
10.在Servlet中读取HTTP头信息非常容易,只需调用HttpServletRequest的getHeader等方法即
可。

()
11.Servlet和applet分别在处于服务器和客户机两端。

()
12.Servlet与普通Java应用程序一样,要有main 方法。

()
13.对于每一个Servlet实例,只能被初始化一次()。

14.doGet()和doPost()方法分别处理客户端GET和POST方法发送的请求。

()
15.不能给一个Servlet映射多个访问路径。

()
三、填空题
1.用户可以有多种方式请求Servlet,
如,、
、等。

2.javax.servlet.Servlet接口定义了三个用于Servlet生命周期的方法,它们
是、、方法。

3.一般编写一个Servlet就是编写一个
的子类,该类实现响应用户
的、、等请求的方法,这些方法是、和
等doXXX方法。

4.使用cookie的基本步骤为:创建cookie对象,,,设置cookie 对象的有效时间。

5.Servlet中使用Session对象的步骤为:调用得到Session对象,查看Session对象,在会话中保存数据。

6.Servlet运行于_ __端,与处于客户端的__ __相对应。

7.当Server关闭时,__ __就被销毁。

8.使用Servlet处理表单提交时,两个最重要的方法是_ 和。

9.Serlvet接口只定义了一个服务方法就
是。

四、思考题
1.试述Servlet的生命周期。

2.如何使Servlet既能处理GET请求,又能处理POST 请求?
3.获取表单数据的基本方法有哪些?4.HttpServletResponse接口有哪些用处?
5.Servlet处理表单提交比起JSP页面处理表单提交有哪些优点?
6.是否一定要重写Service方法?重写了Servlet 的doPost和doGet方法如何被调用?7.Servlet对象如何获取用户的会话对象?8.Servlet如何与Servlet或者JSP进行通信?9.如何编写、编译、调试和配置Servlet?。

相关文档
最新文档