第八章 Servlet基础:1、Servlet及其生命周期,主要介绍什么是Servlet,Servlet的特点,Servlet的基本结构,Servlet的主要方法,如init()、service()、destroy()、doGet()、doPost()等。2、Servlet创建、部署与使用,主要介绍了Servlet开发的基本步骤,即在应用项目的src下新建Servlet、重写doGet()和doPost()方法、注册Servlet、运行Servlet。3、Servlet常用对象及其方法,主要给出与JSP内置对象对应的Servlet常用对象的获取方法及使用情况。4、请求与响应机制,主要介绍了HTTP请求和HTTP响应的主要格式或信息组成,以及如何设置或获取请求头和响应头中的信息。5、转发与重定向,主要介绍Servlet中页面跳转的两种方法,并给出了两种跳转方法的不同点。6、Java Web应用常用开发模式,主要介绍了JSP+Servlet开发模式、JSP+JavaBean开发模式、JSP+Servlet+JavaBean开发模式等。 7、综合案例的设计,主要JSP+JavaBean开发模式实现复数运算、使用JSP+Servlet+JavaBean开发模式实现用户登录或购书。8.1Servlet及其生命周期:一 理论讲解1)JSP和Servlet优缺点 2)Servlet基本结构 3)Servlet运行机制二 案例开发Servlet生命周期演示。设计技巧:给出Servlet的不同运行方式,测试运行时调用的方法。[多选题]
8.2Servlet创建、配置与运行:一 理论讲解1)Servlet创建继承父类HttpServlet、重写doGet方法或doPOST方法;2)Servlet配置3)Servlet运行二 案例开发用户登录验证。设计技巧:JSP提交信息、Servlet实现验证、两者通过request对象实现数据共享
8.3Servlet常用对象及其方法:1)Servlet常用类、接口及方法的使用2)JSP内置对象与Servlet类对应关系
8.4Servlet数据共享:一 理论讲解1)基于请求的数据共享2)基于会话的数据共享3)基于应用的数据共享二 案例开发基于会话的数据共享。设计技巧:采用超链接实现两个Servlet的跳转,分别测试请求和会话的数据共享特效。
8.5请求转发与重定向:一 理论讲解1)转发2)重定向二 案例开发转发、重定向及其数据共享。设计技巧:两种方式的跳转,测试不同情况下的数据共享。
8.6汉字乱码解决方案:一 理论讲解1)四种常见编码2)乱码出现的原因 3)Get方式汉字乱码及其解决方案4)Post方式汉字乱码及其解决方案二 案例开发汉字乱码解决案例演示。
8.7Java Web常用开发模式:1)JSP+JavaBean开发模式2)JSP+servlet开发模式3)MVC开发模式
8.8综合案例——实现复数运算:综合案例设计技巧:1)JSP完成信息的提交2)Servlet完成信息的获取与处理3)JavaBean实现业务处理
8.9综合案例——基于数据库的登录验证:综合案例设计技巧:1)JSP完成信息的提交2)Servlet完成信息的获取与处理、在Servlet中实现流程控制3)JavaBean实现业务处理,特别是UserDao的使用。
属于Servlet生命周期的方法有( )。
选项:[destroy(), super(), service(), init()][单选题]获取用户的会话对象session,可以通过response对象的getSession()方法来实现。选项:[错, 对]
[单选题]
下面乱码处理方案,通常是在表单以get方式提交数据时。
String str1= request.getParameter("RdName");
String str2=new String(str1.getBytes("iso-8859-1"),"utf-8");
[单选题]在访问Servlet时,在浏览器地址栏中输入的路径是在_______地方配置的。选项:[<servlet-mapping/> , <servlet-name/> , <uri-pattern/>, <url-pattern/>]
[多选题]
在Servlet里,能实现网页跳转的方法有 。
选项:[运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法, 运用javax.servlet.RequestDispatcher接口的forward方法, 运用javax.servlet.ResponseDispatcher接口的forward方法, 运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法][单选题]
HttpServletRequest的getParameter()方法获取参数的返回值类型是( )。
选项:[ String, Integer, null, Object][单选题]
给定一个Servlet程序的代码片段,如下:
Public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException {
request.getSession().getAttribute("A"); //第二行
}
假定第二行返回的对象引用不是null,那么这个对象存储在 范围中。
选项:[application, request, page, session][单选题]在Servlet中,response.getWriter()返回的是____________ 。选项:[ ResponseWriter对象, Out对象, JspWriter对象, PrintWriter对象]
[多选题]
完成下列四项功能需要使用哪些方法?
1)向输出中写HTML标签。
2)指定响应的内容类型。
3)向响应中添加响应头。
4)重定向浏览器到另一个资源。
选项:[使用ServletResponse的getWriter()方法获得PrintWriter对象,然后调用PrintWriter的print()方法, 使用HttpServletResponse的sendHeader("name","value")方法, 使用HttpServletResponse的sendRedirect(url)方法, 使用ServletResponse的setContentType()方法][单选题]
在web.xml文件中配置或注册Servlet时,需要用到的标签是<servlet>和 <servlet-mapping>。
选项:[错, 对][单选题]调用响应对象response的setCharacterEncoding()方法设置响应的字符编码,如utf-8。如果没有指定响应的字符编码,PrintWriter将使用iso-8859-1编码。选项:[错, 对]
[单选题]
考虑下面的HTML代码
<body>
<a href="DestroyServlet">超链接到一个Servlet</a>
</body>
当用户在显示的超链接上点击时,将调用DestroyServlet的哪个方法?
选项:[doGet(), doForm(), doHref(), doPost()][单选题]
创建Servlet时,需要继承( )类。
选项:[HttpServlet, ServletInterface, Servlet, MyServlet][单选题]
Servlet可以在以下 三个不同的作用域存储数据。
选项:[响应、会话和上下文, 请求、会话和上下文, 请求、响应和会话, 请求、响应和上下文][单选题]
在web.xml文件中,描述了一个Servlet,其中( )指定了Servlet的映射地址。
选项:[<servlet-name>, <servlet-class>, <url-pattern>, <servlet-mapping>][单选题]在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaScript”和“Serlvet”,以Servlet为核心。选项:[对, 错]
[单选题]
MVC开发模式的含义是 。
选项:[将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度, 用来将代码分开的方法, JavaBean, 只用java才有的模型][单选题]
下面关于MVC的说法不正确的是 。
选项:[Controller是控制层,负责控制流程, 在MVC架构中JSP通常做控制层, M表示Model层,是存储数据的地方, View表示视图层,负责向用户显示外观][单选题]请求转发通常由RequestDispatcher接口的forward()方法实现,转发前后共享同一个请求对象。选项:[错, 对]
[单选题]阅读下面代码片段: RequestDispatcher dispatcher=request.getRequestDispatcher("a.jsp"); dispatcher.forward(request,response); 关于该段代码的作用,下列 叙述是正确的。选项:[页面重定向到a.jsp页面, 从a.jsp定向到当前页面, 从a.jsp转发到当前页面, 将请求转发到a.jsp页面]
[单选题]
用户使用POST方式提交的数据中存在汉字(使用utf-8字符集),在Servlet中需要使用下述______语句处理。
选项:[response.setCharacterEncoding("utf-8");, response.setContentType("text/html;charset=utf-8");, request.setContentType("text/html;charset=utf-8");, request.setCharacterEncoding("utf-8);][多选题]
编写Servlet代码时,至少需要导入Servlet API 的 包。
选项:[javax.servlet, javax.swing, java.util, javax.servlet.http][单选题]
有两个页面regist.html和RegistServlet.java(其映射地址为RegistServlet),在页面regist.html中输入信息并提交,然后由RegistServlet接收数据并处理数据。若regist.html的代码如下,完成填空。
<form action=" " method="post">
<input type="text" name="name" />
<input type=" " value="提交" />
</form>
[多选题]
下列有关Servlet描述正确的是__________________________。
选项:[通常需要在web.xml文件中声明<servlet>和<servlet-mapping>两个元素, 必须是HttpServlet的子类, 通常需要覆盖doGet()和doPost()方法或其中之一, 通常需要覆盖service()方法][单选题]网页中只要使用gb2312编码就不会出现中文乱码。选项:[对, 错]