Javaweb-request与response          

   Servlet   生命周期(什么时候创建的,什么时候销毁的);    

Servlet(是一个运行在服务器上的java小程序);

  初始化:运行时初始化  ;

  销毁  : 服务器正常关闭时销毁   ;

  在javax.servlet.Servlet接口中定义了三个方法   init service destroy它们就是servlet的生命周期方法;  

  直接重写 init(),destroy(),service() 方法:  

 @Override  public void init(ServletConfig config) throws ServletException {  System.out.println("初始化");  }

 @Override  protected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {   System.out.println("处理来自浏览器的请求-----");  }

 @Override  public void destroy() {   System.out.println("销毁");  }    

toget()  topost() 重写 , 手写一个类继承httpservlet,最后需要配置 web.xml文件  servlet,  生成的话不需要配置web.xml文件,  

 Servlet生命周期总结:

 1.第一次访问servlet,servlet会被创建,并将servlet对象常驻内存,     调用init方法进行初始化操作,init方法中执行一次。

 2.调用service方法,用于处理来自浏览器端的请求,以后都是开启一个线程来处理浏览器端请求。  

3.当tomcat服务器正常关闭时,会调用destroy方法将servlet销毁。      

 response  响应对象:  

 (1) 重定向:就是冲向跳转到指定的资源页面;  第一种方法:  响应头 :response

 1.  设置状态码    response.setStatus(302);

 2.  设置响应头  "location";         (跳转的资源地址)  

response.setHeader("location", "/Project26/demo13");   

 第二种方法:       

   直接设置路径  response.sendRedirect("/Project26/demo13");    

 (2) 定时跳转:

 第一种方法:  设置响应头  "refresh";  response.setHeader("refresh", "5;/Project26/demo01.html");  

 第二种方法:

 <!DOCTYPE html>

<html> <head> <meta charset="UTF-8">

<meta http-equiv="refresh"  content="5;url=http://localhost:8080/Project26/demo02.html">

<title>Insert title here</title>

<script type="text/javascript">

 var ti = window.setInterval("showtime()", 1000);

 function showtime() {   var ele = document.getElementsByTagName("span")[0];  

 var times = ele.innerHTML;

  times--;  

 ele.innerHTML = times;  

 if (times <= 0) {    window.clearInterval(ti);   }

 } </script

> </head>

<body>

 <span>5</span>秒后跳转,如果跳转失败,  <a href="demo02.html">请点击</a>

</body>

</html>                

 3.操作响应正文:  

response.getwriter().write("内容")  防止乱码问题:  response.setContentType("text/html;charset=utf-8")        

      4.Request 对象详细介绍 :    我们在开发中可以通过request对象来获取http请求信息及客户机信息。  

http请求分为三部分 请求行  请求头  请求正文,通过request对象我们就可以获取http请求信息。    操作http请求行 :  1 . 2  .3  注意有返回值  (String)  

 1.请求的方式(方法 doget()  ,dopost()  )     String  getMethod();  

 2.获取请求的资源路径:  String  getRequestURI();    

3.获取请求的协议版本:  getProtocol();        

 5. 操作http请求正文:  问题:什么情况下请求正文有内容?   

只要有请求参数的情况下才会在正文中存在内容。    

问题:怎样可以获取到请求参数?

 String getParameter(String)  根据指定的请求参数的名称获取对应的值。

   String[] getParameterValues(String);  根据指定的请求参数的名称获取对应的多组值。

   Map<String,String[]> getParameterMap();  它是获取所有的请求参数封装的Map集合,集合的key就是请求参数的名称。

   Enumeration getParameterNames()  它是获取所有的请求参数的名称封装到Enumeration中。  

 (reqeust.setCharacterEncoding(“utf-8”)来处理请求参数乱码。)

Javaweb-request与response的更多相关文章

  1. JavaWeb Request和Response

    1. Request与Response 1.1. Web应用运行机制 到目前为止,我们已经掌握了Web应用程序的运行机制,现在学习的就是Web应用程序运行机制中很重要的内容 —— Request与Re ...

  2. 超全面的JavaWeb笔记day10<Response&Request&路径&编码>

    1.Response 2.Request 3.路径 4.编码 请求响应流程图 response 1.response概述 response是Servlet.service方法的一个参数,类型为java ...

  3. JavaWeb核心篇(2)——Request和Response

    JavaWeb核心篇(2)--Request和Response 上篇文章中提及到了Servlet,在Servlet中我们主要继承了HTTPServlet类,在HTTPServlet类中我们会接触到两个 ...

  4. JavaWeb(一)Servlet中的request与response

    一.HttpServletRequest概述 1.1.HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP ...

  5. javaweb入门-----request与response的作用

    request对象和request对象的原理 1.request和response对象request对象和request对象的原理时由服务器创建的,我们来使用它们 2.request对象是来获取请求消 ...

  6. request和response的复习

    客户端发来的请求,服务器将请求封装成request对象,包括请求头和请求的数据等.创建response对象,调用Servlet的Service()方法传递这两个参数,使用HttpServlet就是将这 ...

  7. 解析Request和Response

    简介: Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应 ...

  8. Request 和 Response 原理

    * Request 和 Response 原理:     * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可        * 继承体系结构: ...

  9. Request 、Response 与Server的使用

    纯属记录总结,以下图片都是来自 ASP.NET笔记之 Request .Response 与Server的使用 Request Response Server 关于Server.MapPath 方法看 ...

  10. request 和response

    当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...

随机推荐

  1. 20175333曹雅坤MyCP(课下作业,必做)

    MyCP(课下作业,必做) 要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin ...

  2. 5. SpringBoot —— Actuator简介

    Actuator是SpringBoot提供的用来帮助我们在将应用程序推向生产环境时对其进行监视和管理的工具集.使用Actuator最简单的方式,就是在pom文件中添加如下依赖: <depende ...

  3. 使用ansible实现轻量级的批量主机管理

    作者:邓聪聪 查看ansible配置文件下的hosts的文件 [root@ansible-server scripts]# cat /etc/ansible/hosts [test] 172.16.1 ...

  4. 各种手工DIY

    http://www.guokr.com/scientific/subject/diy/ 高仿宜家莲花灯 http://www.guokr.com/article/179863/ 做一只会发光的魔幻吊 ...

  5. eclpse:安装explorer或eExplorer插件

    结论:个人感觉 eExplorer更好. 1.安装explorer Help->Eclipse Marketpalce find:explorer dian 点击"Install&qu ...

  6. hikey960编译记录

    arm64内核编译命令: 1 make ARCH=arm64 hikey960-defconfig 2 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- ...

  7. sublime text3输出窗口中文显示乱码问题解决方案

    1 前言 略 2 方案 修改Python3.sublime-build内容为 { "cmd": ["C:/Users/Administrator/AppData/Loca ...

  8. pyspider

    Linux系统我使用CentOS.对于pycurl安装问题比较好解决,只需要先安装对应的开发包即可.执行如下命令: yum install python-devel curl-devel 分别安装py ...

  9. W3CSchool实战闯关笔记(JavaScript)

    //handsome /** *ugly **/ 第一关注释 // 举例 var myName; // Define myName below this line 第二关声明变量 // Setup v ...

  10. 树链剖分——边权poj2763

    边权操作起来也和点权一样,只要把边的权值映射到点上即可,要注意的地方是向上爬的过程中和点权不太一样,还有个特判(WA了几次..) 完整代码 #include<cstring> #inclu ...