JSPServlet第9章.ppt
《JSPServlet第9章.ppt》由会员分享,可在线阅读,更多相关《JSPServlet第9章.ppt(30页珍藏版)》请在三一文库上搜索。
1、第九章,Servlet常用接口,课程目标,Servlet的常用接口:ServleConfig、ServletRequest、HttpServlteRequest、ServletContext等接口的特点。,体验项目,想知道使用Servlet程序控制彩条颜色的比例是如何实现的吗?想知道Servlet和JSP是如何协作实现这个功能的吗?编写一个JSP页面,用于输入颜色所占的百分比。编写一个Servlet,根据JSP页面提供的数据,显示一个彩条比例图形。 程序运行过程如下所示: (1)在浏览器里地址栏中输入“http:/localhost:8080/first.jsp”。点击回车,登录到first.
2、jsp页面。然后在first.jsp页面中的文本框内输入彩条颜色的百分比。如图9-1所示:,输入百分比数据后,点击“提交”按钮,进入Servlet处理页面,前言,大多数基于Java的Web服务器都支持Servlet API,这意味着当使用Servlet API时,可以继承Java的许多优点。不但代码不存在内存漏洞问题和难以发现的指针Bug,而且还可以运行在不同的服务器平台上。在第8章中,给大介绍了Servlet接口,GenericServlet类和HttpServlet类。接下来给大家详细介绍Servlet其它常用的接口。,ServletConfig,ServletConfig接口是一个由Se
3、rvlet容器使用的Servlet配置对象,在Servlet初始化时向它传递信息。 ServletConfig接口有以下几个主要方法: getServletName()方法: 该方法返回一个Servlet实例的名称,该名称由服务器管理员提供。 getServletContext()方法: 该方法返回一个ServletContext对象的引用。 getInitParameter()方法: 该方法返回一个由参数“String name”决定的初始化变量的值,如果该变量不存在,返回null。 getInitParameterNames()方法: 该方法返回一个存储所有初始化变量的枚举函数。如果Ser
4、vlet没有初始化变量,返回一个空枚举函数。,下面的代码描述了一个Servlet的xml文件的配置。 Hello World servlet.HelloWorldServlet charset gb2312 在“HelloWorldServlet.java”中如果有getInitParameter(“charset”),那么将返回一个“gb2312”的字符串。,ServletException,ServletException定义了一个通用异常类,Servlet运行错误时将抛出异常。它包含几个构造方法和一个获得异常原因的方法。 ServletException常用方法有: ServletExc
5、eption(): 构建一个新的Servlet异常。 ServletException(String message): 构建一个拥有指定信息的新的Servlet异常。 ServletException(String message, Throwable rootCause): 构建一个新的Servlet异常,Servlet需要时抛出,包含妨碍正常操作(包括描述信息)的根异常信息。 ServletException(Throwable rootCause): 构建一个新的Servlet异常,Servlet需要时抛出,包含妨碍正常操作的根异常信息。 getRootCause(): 该方法返回引起
6、Servlet异常的原因。,在创建Servlet时,常采用以下形式抛出异常,public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException PrintWriter out = response.getWriter(); out.println(“); out.println(“HelloWorldServlet“); out.println(“); out.println(“继承HttpServlet“); out.println(“H
7、ello World!“); out.println(“你好,世界!“); out.println(“); out.println(“); out.close(); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException doGet(request, response); ,ServletRequest,ServletRequest接口封装了客户端请求的细节。它与协议无关,并指定一个HTTP的子接口。 ServletReque
8、st主要功能有: 找出客户端的主机名和IP地址 检索请求参数 取得和设置属性 取得输入、输出流,ServletRequest类的常用方法,getAttribute(String name): 返回具有指定名称的请求属性,如果不存在则返回null。属性可由Servlet引擎设置或使用setAttribute()显式加入。 getAttributeName(): 返回请求中所有属性名的枚举。如果不存在属性,则返回一个空的枚举。 getCharacteEncoding(): 返回请求所用的字符编码。 getInputStream()throws IOException: 返回与请求相关的(二进制)输
9、入流。可以调用getInputStream()或getReader()方法。 getParameter(String name): 返回指定输入参数,如果不存在,返回null。 getParameterName(): 返回请求中所有参数名的一个可能为空的枚举。 getParameterValues(String name): 返回指定输入参数名的取值数组,如果取值不存在则返回null。它在参数具有多个取值的情况下十分有用。,ServletRequest类的常用方法,getServerName(): 返回处理请求的服务器的主机名。 getServerPort(): 返回接收主机正在侦听的端口号。
10、 getRemoteAddr(): 返回客户端主机的数字型IP地址。 getRemoteHost(): 如果知道,返回客户端主机名。 setAttribute(String name,Object obj): 以指定名称保存请求中指定对象的引用。 removeAttribute(String name): 从请求中删除指定属性。 getRequestDispatcher(String name): 返回指定源名称RequsetDispatcher对象。,HttpServletRequest,HttpServletRequest接口中最常用的方法就是获得请求的参数,这个请求中的参数值是客户端表单
11、中的数据。JSP中的内建对象request就是一个HttpServletRequest实例。 HttpServletRequest主要功能: 读取和写入HTTP头标 取得和设置cookies 取得路径信息 标识HTTP会话,HttpServletRequest接口的常用方法,getContextPath(): 返回指定Servlet上下文(web应用)的URL的前缀。 getCookies(): 返回与请求相关Cookie的一个数组。 getHeader(String name): 返回指定的HTTP头标值。如果其由请求给出,则名字应对大小写不敏感。 getHeaderNames(): 返回请
12、求给出的所有HTTP头标名称的枚举值。 getHeaders(String name): 返回请求给出的指定类型的所有HTTP头标的名称的枚举值,它对具有多取值的头标非常有用。 getMethod(): 返回HTTP请求方法(例如GET、POST等)。 getParameter(String name): 获得请求中名为name的参数的值,如果请求中没有这个参数,将返回null。 getSession(boolean create): 返回当前HTTP会话,如果不存在,则创建一个新的会话,create参数为true。 isRequestedSessionIdValid(): 如果客户端返回的会
13、话ID仍然有效,则返回true。,ServletResponse,ServletResponse将一个Servlet生成的结果传送到发出请求的客户端。ServletResponse操作主要是作为输出流及其内容类型和长度的包容器,它由Servlet引擎创建。 ServletResponse接口常用方法有以下几种: getCharacterEncoding(): 返回响应程序使用字符解码的名字。除非显式设置,否则为ISO-8859-1。 getLocale(): 返回响应使用的现场。除非用setLocale()修改,否则缺省为服务器现场。 getOutputStream()throws IOExc
14、eption: 返回用于将返回的二进制输出写入客户端的流,此方法和getWrite()方法二者只能调用其一。 getWriter()throws IOException: 返回用于将返回的文本输出写入客户端的一个字符写入器,此方法和getOutputStream()二者只能调用其一。 isCommitted(): 如果状态和响应头标已经被发回客户端,则返回true,在响应被确认后发送响应头标将毫无作用。 setContentType(String type): 设置内容类型。在HTTPServlet中设置Content-Type头标。 setLocale(Locale locale): 设置响
15、应使用现场。在HTTPServlet中,将对Content-Type头标取值产生影响。,HttpServletResponse,HttpServletResponse代表了对客户端的Http的响应。它提供了表示状态码、状态信息和响应头标的方法,同时还负责对URL中写入一个Web页面的HTTP会话ID进行解码。JSP中的内建对象response是一个HttpServletResponse实例。,HttpServletResponse接口常用方法,addCookie(Cookie cookie): 将一个Set-Cookie头标加入到响应。 setHeader(String name,String
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSPServlet
链接地址:https://www.31doc.com/p-2201918.html