`
hjy2099
  • 浏览: 262617 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

JSP中REQUEST详解

阅读更多
HttpServletRequest
  request.getRemoteAddr()//获取远程IP地址
 
 HttpServletResponse
  response.setContentType("text/html;charset=gbk")//设置发送方式和字符集
  response.getWriter();//获取输出对象,构造PrintWriter对象
  返回响应
 利用:
         1) PrintWriter out = response.getWriter                 // 用于返回文本数据给客户端
         2) ServletOutputStream out = response.getOutputStream   // 用于返回二进制数据给客户端
 
 Servlet中从request获得参数的方法:
  String getParameter(String);
   有此参数但无值返回"";
   无此参数则返回:null
  String[] getParameterValues(String);
  Map getParameterMap();
  Enumeration getParameterNames();获得的是参数的名字,需要用名字再去获得参数的值
1)请阐述什么是ServletContext?
  一种servlet服务的上下文,每一个servlet实例都对应在一个web application中,都属于这个上下文,
 即为这个servletContext.
  在一个servlet服务中,通过getServletContext()方法,获得上下文;
2)  如何在一个Servlet中调用另外一个Servlet;如何在两个Servlet之间传递数据
 getServletContext().getRequestDispatcher("/xxxx/xxxx").forward(request,response);
 request.setAttribute("xxxx",xxxx);------>requeset.getAttribute("xxxx");
    
Servlet中的方法:
 init(ServletConfig);//初始化Servlet用
  init中有异常则servlet直接被回收,无异常则继续调用service()方法
  覆盖父类init(ServletConfig)可能会出错(因为父类函数会对config做保存处理,以便以后使用),可以调用super(config)解决
 service(request,response);
 //具体会调用HttpServlet的doGet,doPost(程序员在具体的servlet程序中覆盖了)方法实现功能,
 destory();//销毁servlet实例的时候调用
Servlet生命周期:
 装载,init(),service(),destory()
Servlet中进行页面转发: 
  getServletContext().getRequestDispatcher("/user/user_list.jsp").forward(request, response);
 或者:
  response.sendRedirect(request.getContextPath() + "/find.do");

Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别//转载
假定你的web application 名称为news,你在浏览器中输入请求路径:
则执行下面向行代码后打印出如下结果:
1、 System.out.println(request.getContextPath());
打印结果:/news
  2、System.out.println(request.getServletPath());
打印结果:/main/list.jsp
 3、 System.out.println(request.getRequestURI());
打印结果:/news/main/list.jsp
 4、 System.out.println(request.getRealPath("/"));
打印结果:F:\Tomcat 6.0\webapps\news\test
 
///////////////////////////////////////request详解
1) getParameter(String name) 一般用它读取表单中参数
(2) getProtocol() 获取客户端向服务器端传送数据所依据的协议名称。
(3)getRemoteAddr() 获取客户端的IP地址。
(4)getRemoteHost() 获取客户端的名字。
(5)getServerName() 获取服务器的名字。
(6)getServerPort() 获取服务器的端口号。
(7)getHeader()获取客户端的浏览器类型。
1  object getAttribute(String name) 返回指定属性的属性值
2  Enumeration getAttributeNames() 返回所有可用属性名的枚举
3  String getCharacterEncoding() 返回字符编码方式
4  int getContentLength() 返回请求体的长度(以字节数)
5  String getContentType() 得到请求体的MIME类型
6  ServletInputStream getInputStream() 得到请求体中一行的二进制流
7  String getParameter(String name) 返回name指定参数的参数值
8  Enumeration getParameterNames() 返回可用参数名的枚举
9  String[] getParameterValues(String name) 返回包含参数name的所有值的数组
10  String getProtocol() 返回请求用的协议类型及版本号
11  String getScheme() 返回请求用的计划名,如:http.https及ftp等
12  String getServerName() 返回接受请求的服务器主机名
13  int getServerPort() 返回服务器接受此请求所用的端口号
14  BufferedReader getReader() 返回解码过了的请求体
15  String getRemoteAddr() 返回发送此请求的客户端IP地址
16  String getRemoteHost() 返回发送此请求的客户端主机名
17  void setAttribute(String key,Object obj) 设置属性的属性值
18  String getRealPath(String path) 返回一虚拟路径的真实路径
 

<%@page contentType="text/html; charset=GBK"%>
<html>
<head>
<title>getRequest</title>
</head>
<body>
<%
  out.println("Protocol: " + request.getProtocol() + "<br>");
  out.println("Scheme: " + request.getScheme() + "<br>");
  out.println("Server Name: " + request.getServerName() + "<br>");
  out.println("Server Port: " + request.getServerPort() + "<br>");
  out.println("Protocol: " + request.getProtocol() + "<br>");
  out.println("Server Info: " + getServletConfig().getServletContext().getServerInfo() + "<br>");
  out.println("Remote Addr: " + request.getRemoteAddr() + "<br>");
  out.println("Remote Host: " + request.getRemoteHost() + "<br>");
  out.println("Character Encoding: " + request.getCharacterEncoding() + "<br>");
  out.println("Content Length: " + request.getContentLength() + "<br>");
  out.println("Content Type: " + request.getContentType() + "<br>");
  out.println("Auth Type: " + request.getAuthType() + "<br>");
  out.println("HTTP Method: " + request.getMethod() + "<br>");
  out.println("Path Info: " + request.getPathInfo() + "<br>");
  out.println("Path Trans: " + request.getPathTranslated() + "<br>");
  out.println("Query String: " + request.getQueryString() + "<br>");
  out.println("Remote User: " + request.getRemoteUser() + "<br>");
  out.println("Session Id: " + request.getRequestedSessionId() + "<br>");
  out.println("Request URI: " + request.getRequestURI() + "<br>");
  out.println("Servlet Path: " + request.getServletPath() + "<br>");
  out.println("Accept: " + request.getHeader("Accept") + "<br>");
  out.println("Host: " + request.getHeader("Host") + "<br>");
  out.println("Referer : " + request.getHeader("Referer") + "<br>");
  out.println("Accept-Language : " + request.getHeader("Accept-Language") + "<br>");
  out.println("Accept-Encoding : " + request.getHeader("Accept-Encoding") + "<br>");
  out.println("User-Agent : " + request.getHeader("User-Agent") + "<br>");
  out.println("Connection : " + request.getHeader("Connection") + "<br>");
  out.println("Cookie : " + request.getHeader("Cookie") + "<br>");
  out.println("Created : " + session.getCreationTime() + "<br>");
  out.println("LastAccessed : " + session.getLastAccessedTime() + "<br>");
%>
</body>
</html>
分享到:
评论

相关推荐

    JSP应用开发详解第三版源代码(整理版)B

    2. **JSP内置对象**:如request、response、session、application等,这些对象是JSP页面中可以直接使用的对象,用于处理HTTP请求、响应、会话管理和应用程序级信息。 3. **Servlet与JSP交互**:JSP的本质是Servlet...

    实例详解JSP内置对象--request对象

    实例详解JSP内置对象--request对象 request对象是JSP中的内置对象之一,它提供了访问HTTP请求信息的功能。在基于Web的开发中,request对象扮演着极其重要的角色。本文将通过实例详解request对象的使用和掌握。 一...

    jsp应用开发详解 jsp电子书

    在《JSP应用开发详解》这本电子书中,读者将全面学习JSP的基础知识以及高级特性。以下是一些主要的知识点: 1. **JSP基本概念**:了解JSP的工作原理,包括JSP页面生命周期,JSP与Servlet的关系,以及JSP如何被编译...

    jsp应用开发详解.zip

    【JSP应用开发详解】 JavaServer Pages(JSP)是一种基于Java的技术,用于创建动态网页。JSP在Web开发领域中扮演着重要角色,因为它允许开发者将HTML代码与Java代码混合编写,使得网页内容能够根据服务器端的数据...

    关于jsp中的JSP详解

    **JSP(Java Server Pages)详解** JSP是Java平台上的动态网页技术,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现动态内容的生成。JSP的核心概念包括以下几点: 1. **JSP元素**:JSP页面由静态...

    (JSP应用开发详解)JSP应用开发详解

    JSP提供了九个内置对象,如`request`, `response`, `session`, `application`, `pageContext`, `out`, `config`, `exception`和`page`,它们可以直接在JSP页面中使用,无需声明。 5. **EL(Expression Language)*...

    jsp el表达式详解

    **JSP EL表达式详解** JavaServer Pages (JSP) Expression Language(EL)是JSP 2.0及更高版本中引入的一种轻量级、简洁的脚本语言,用于简化在JSP页面中访问JavaBean属性和其他Java对象的流程。EL表达式主要用于...

    JSP应用开发详解源代码-1.rar

    在"JSP应用开发详解源代码-1.rar"这个压缩包中,我们可以找到书中的第一部分示例源代码。这些代码通常包括了基础的JSP页面、Servlet、JavaBean以及其他相关的支持类,涵盖了JSP的基础语法、内置对象、指令、动作标签...

    JSP应用开发详解》原版 (PDF)

    通过阅读《JSP应用开发详解》,开发者不仅可以学习到JSP的基础知识,还能深入理解其高级特性,并掌握如何在实际项目中有效应用。这本书对于想要提升JSP技能或准备从事Web开发的人员来说,无疑是一份宝贵的资源。

    jsp应用开发详解(第二版)

    本书的第一部分可能涵盖了JSP的基本语法,包括如何在页面中插入Java代码、声明变量、使用内置对象(如page、request、session和application)以及处理用户请求。此外,还会讲解JSP指令(如page、include和taglib),...

    《JSP应用开发详解》随书光盘

    《JSP应用开发详解》是一本深度探讨JSP(Java Server Pages)技术的专业书籍,其随书光盘包含了丰富的源码示例,旨在帮助读者深入理解JSP在实际开发中的运用。这本书籍覆盖了JSP的基础知识、核心概念以及高级特性,...

    JSP应用开发详解第三版源代码

    - **内置对象**:如request、response、session、application等,它们在JSP中扮演了处理HTTP请求和响应的关键角色。 2. **Servlet与JSP的关系** - **Servlet基础**:JSP最终会被编译成Servlet,理解Servlet的工作...

    JSP获取HTTP header信息(request)例子

    ### JSP获取HTTP Header信息(Request)详解 在Web开发中,了解如何获取HTTP请求头信息是非常重要的,因为这些信息能够帮助我们更好地理解客户端环境、优化响应策略以及进行安全性检查等。下面将详细介绍JSP中如何...

    Java中Request请求转发详解

    Java中Request请求转发详解 Java中Request请求转发是指在Servlet中使用RequestDispatcher将请求转发到另一个Servlet或JSP页面,以实现请求的重定向或包含。在本文中,我们将通过示例代码详细介绍Java中Request请求...

    JSP应用开发详解(第二版)

    《JSP应用开发详解(第二版)》是深入学习Java Server Pages(JSP)技术的一本权威指南。这本书涵盖了从基础概念到高级特性的全面内容,旨在帮助开发者掌握JSP的精髓并应用于实际项目开发中。以下是根据章节标题和...

    JSP 中request与response的用法详解

    JSP 中request与response的用法详解 概要: 在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于http协议的介绍。因为其实request和response的使用大部分都是对http...

    jsp语法详解

    jsp语法详解中还有其他一些重要的知识点,例如jsp指令、jsp动作、jsp隐式对象等。jsp指令用于在jsp文件中指定指令,例如&page指令、include指令等。jsp动作用于在jsp文件中执行某些操作,例如jsp:useBean动作、jsp:...

    jsp页面间通过request/session传值

    ### JSP 页面间通过 Request/Session 传值详解 #### 一、背景介绍 在 Web 开发中,尤其是在 JavaServer Pages (JSP) 技术中,数据在不同页面之间的传递是一项基本且重要的功能。本篇文章将详细介绍如何利用 JSP 的 ...

Global site tag (gtag.js) - Google Analytics