`
hjy2099
  • 浏览: 256045 次
  • 性别: 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 request 对象详解

    jsp request 9大对象详解config pageContext application对象

    JSP 中request与response的用法详解

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

    JSP的request对象实例详解

    JSP的request对象实例详解 一 request对象定义 客户端的请求信息被封装在request对象中,通过它才能了解客户的需求,然后做出响应。它是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求...

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

    在用java做基于Web的开发时,不可避免的需要和request&response这两个对象打交道,因此,对它们的学习和掌握就显得至关重要。

    jsp基础精华详解

    request.getRequestDispatcher("index.jsp").forward(request, resposne); 外部跳转: response.sendRedirect("index.jsp"); 内部跳转是一次请求和一次响应 外部跳转是两次请求和两次响应 ServletContext:Servlet上...

    JSP request.setAttribute()详解及实例

    javascript request.setAttribute()详解 request.setAttribute()怎么用的? JSP1代码 String [] test=new String[2]; test[0]=1; test[1]=2; request.setAttribute(test,test) ; response.sendRedirect(jsp2.jsp); ...

    jsp全部内置对象详解

    jsp全部内置对象详解,out request response session application

    JSP语法之隐式对象详解

    了解JSP 隐式对象的分类和组成 能够运用隐式对象进行JSP 编程 理解Page、Request、Session 和Application 范围的区别

    request.getcontextPath()_详解

    request.getcontextPath()详解

    实例详解JSP内置对象

    实例详解JSP内置对象 jsp九种内置对象:request, reponse, out, session, application, config, pagecontext, page, exception.

    详解JSP 内置对象request常见用法

    request 对象是 HttpServletRequestWrapper 类的实例。它的继承体系如下: _request 对象继承层次... Servlet/JSP 中大量使用了接口而不是实现类,这恰恰就是面向接口编程的最佳应用啊。 request 内置对象是由 Tomcat

    JSP中param动作的实例详解

    JSP中param动作的实例详解 一 语法 &lt;jsp name=”参数名” value=”参数值”&gt; 常常与&lt;jsp&gt;一起使用,作为其子标签存在。  二 代码 1、login.jsp &lt;&#37;@ page language=java import=java.util.* ...

    JSP 9 大内置对象详解.txt

    Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。 Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户的响应存储在...

    jsp 中HttpClient中的POST方法实例详解

    jsp 中HttpClient中的POST方法实例详解 POST方法用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列(Request-Line)中请求URI所指定资源的附加新子项。POST被设计成用统一的方法实现下列...

    JSP中out对象的实例详解

    JSP中out对象的实例详解 一 什么是缓冲区 缓冲区:Buffer,所谓缓冲区就是内存的一块区域用来保存临时数据。 二 out对象 out对象是JspWrite类的实例,是向浏览器输出内容常用的对象。 三 常用方法 四 实例 &...

Global site tag (gtag.js) - Google Analytics