第06章JSP课后习题答案

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

第6章Servlet核心技术

习题答案

1.Servlet都有哪些功能?。

答案:

Servlet最常见的功能包括以下几种:

●基于客户端的响应,给客户端生成并返回一个包含动态内容的HTML页面。

●可生成一个HTML片段,并能将其嵌入到现有HTML 页面中。

●能够在其内部调用其它的Java资源并与多种数据库进行交互。

●可同时与多个客户机进行连接,包括接收多个客户机的输入以及并将结果返回给多个客户机。

●在不同的情况下,可将服务器与Applet的连接保持在不同的状态。

●对特殊的处理采用MIME类型过滤数据。

●将定制的处理提供给所有服务器的标准例行程序。例如,Servlet可以修改如何认证用户。

2.使用哪个方法可获取用户提交的表单中的数据?

答案:

可通过ServletRequest接口或其子接口HttpServletRequest提供的getParameter(String name)方法获取表单中的数据,其中参数name是表单属性的名称。

3.使用哪个方法可将数据保存到会话中?

答案:

HttpSession对象的setAttribute(String name,Object value)方法通过绑定一对名字/值数据,可将相关数据保存到当前会话中,参数name是绑定到会话中的属性名称,参数value是属性的值。

4.如何在Servlet中进行异常处理?

答案:

在Servlet中,使用下面两种处理异常的方式:

●在try/catch语句的catch语句块中直接生成并输出异常信息的页面,或者将异常转发到异常处理的Servlet或JSP页面中。

●在web.xml文件中通过元素指定异常处理。

5.使用Servlet做一个用户登录实例。

实例内容:当请求Servlet时,出现一个包含文本框、密码框和提交按钮的界面,当输入用户名和密码,单击【登录】按钮后,将用户的信息放入HttpSession中,并输出欢迎当前用户登录的信息。

答案:

(1)创建一个Web工程,名称为login。

(2)在工程的sunyang包下创建一个Servlet类LoginServlet.java,该类用来输出登录页面和欢迎用户登录的信息。类LoginServlet的代码如下:

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class LoginServlet extends HttpServlet{

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doPost(req, resp);

}

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

resp.setCharacterEncoding("GBK"); //设置响应的编码类型为GBK

PrintWriter out=resp.getWriter(); //获取输出对象

out.println("");

out.println("");

out.println("用户登录");

out.println("");

out.println("");

HttpSession session=req.getSession();//获取HttpSession实例

Boolean isLogin=(Boolean)session.getAttribute("isLogin");

if(isLogin==null){

isLogin=false;

}

String name=req.getParameter("username");//获取表单上的用户名

String password=req.getParameter("password");//获取表单上的密码

if(isLogin==true){

name=(String)session.getAttribute("name");

out.println("

欢迎"+name+"登录

");

}else if(name!=null&&password!=null){

session.setAttribute("name", name);//把用户名保存在HttpSession中

session.setAttribute("password", password);//把密码保存在HttpSession中

//把判断用户是否登录的字段保存在HttpSession中

session.setAttribute("isLogin", true);

out.println("

欢迎"+name+"登录

");

}else{

out.println("

用户登录

");

out.println("

");

out.println("用户名:");

out.println("
");

out.println("密码:");

out.println("
");

out.println("");

out.println("");

out.println("

");

}

out.println("");

out.println("");

}

}

(3)在web.xml中配置LoginServlet,配置的代码如下:

xmlns="/xml/ns/javaee"

xmlns:xsi="/2001/XMLSchema-instance"

xsi:schemaLocation="/xml/ns/javaee

/xml/ns/javaee/web-app_2_5.xsd">

LoginServlet

sunyang.LoginServlet

LoginServlet

/login

(4)发布并运行程序,如下图所示:

相关文档
最新文档