Javaweb-request与response
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的更多相关文章
- JavaWeb Request和Response
1. Request与Response 1.1. Web应用运行机制 到目前为止,我们已经掌握了Web应用程序的运行机制,现在学习的就是Web应用程序运行机制中很重要的内容 —— Request与Re ...
- 超全面的JavaWeb笔记day10<Response&Request&路径&编码>
1.Response 2.Request 3.路径 4.编码 请求响应流程图 response 1.response概述 response是Servlet.service方法的一个参数,类型为java ...
- JavaWeb核心篇(2)——Request和Response
JavaWeb核心篇(2)--Request和Response 上篇文章中提及到了Servlet,在Servlet中我们主要继承了HTTPServlet类,在HTTPServlet类中我们会接触到两个 ...
- JavaWeb(一)Servlet中的request与response
一.HttpServletRequest概述 1.1.HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP ...
- javaweb入门-----request与response的作用
request对象和request对象的原理 1.request和response对象request对象和request对象的原理时由服务器创建的,我们来使用它们 2.request对象是来获取请求消 ...
- request和response的复习
客户端发来的请求,服务器将请求封装成request对象,包括请求头和请求的数据等.创建response对象,调用Servlet的Service()方法传递这两个参数,使用HttpServlet就是将这 ...
- 解析Request和Response
简介: Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应 ...
- Request 和 Response 原理
* Request 和 Response 原理: * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可 * 继承体系结构: ...
- Request 、Response 与Server的使用
纯属记录总结,以下图片都是来自 ASP.NET笔记之 Request .Response 与Server的使用 Request Response Server 关于Server.MapPath 方法看 ...
- request 和response
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...
随机推荐
- docker-compose部署ELK
本章基于 https://www.cnblogs.com/lirunzhou/p/10550675.html 在此基础上将ELK系统docker-compose.yml化. 其docker-compo ...
- android app 的插件化、组件化、模块化开发-2
Android 插件化 ——指将一个程序划分为不同的部分,比如一般 App的皮肤样式就可以看成一个插件 Android 组件化 ——这个概念实际跟上面相差不那么明显,组件和插件较大的区别就是:组件是指 ...
- hostapd、/dev/random、/dev/urandom
在使用hostapd做软ap时,出现了random熵不够的问题,导致节点连接不上这个ap. 下面先解释一下/dev/random和/dev/urandom 先让我们从一个工程中遇到的实际问题开始,先上 ...
- Motivation
觉得一个需求不错,却没有意愿去做,唯一可能的意愿就是生活需要.可这并不能很好的带动起来什么,除了让自己觉得在逼自己. 后来在这个需求的基础上,延伸出新的需求,可能更适应生活.仍然没有意愿去动手,虽然生 ...
- spring-cloud-hystrix-dasboard服务调用监控
除了隔离依赖服务的调用以外,hystrix还提供了准实时的调用监控(hystrix dashboard),hystrxi会持续的记录所有通过hyxtrix发起的请求的执行信息,并以统计报表和图形的形式 ...
- spring-cloud-feign负载均衡组件
Feign简介: Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便.它具有可插拔注释支持,包括Feign注解和JAX-RS注解.Feign还支持可插拔编码器 ...
- iOS开发之Dictionary与NSData互转
1.将NSData转换成Dictionary /** 将二进制数据转换成字典*/ + (NSDictionary *)dictionaryForJsonData:(NSData *)jsonData ...
- 集腋成裘-13-git使用-02进阶篇
上一篇我们简单介绍了如何安装和使用git,本次将简单介绍如何创建分支.处理冲突.提交与回滚 创建和合并分支是Git的一大特色. 使用场景:当有一个新功能要开发,但是又没有确定上线时间,不能合并到主干上 ...
- ELK配置
安装logstash docker pull logstash docker run -it --rm logstash -e 'input { stdin { } } output { stdout ...
- 洛谷 p5020 货币系统 题解
传送门 一个手动枚举能过一半点而且基本靠数学的题目(然而我考试的时候只有25分) 读清题目后发现就是凑数嘛,.... 对啊,就是凑数,怎么凑是重点啊.. 于是就绝望了一小时手动枚举n从1到5的情况 吐 ...