printwriter

Java Web学习总结(4)——HttpServletResponse对象入门

假装没事ソ 提交于 2020-03-17 04:54:38
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。 request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。 一、HttpServletResponse对象介绍      HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。 1.1、负责向客户端(浏览器)发送数据的相关方法    1.2、负责向客户端(浏览器)发送响应头的相关方法       1.3、负责向客户端(浏览器)发送响应状态码的相关方法    1.4、响应状态码的常量   HttpServletResponse定义了很多状态码的常量(具体可以查看Servlet的API),当需要向客户端发送响应状态码时,可以使用这些常量,避免了直接写数字,常见的状态码对应的常量:   状态码404对应的常量      状态码200对应的常量      状态码500对应的常量    二、HttpServletResponse对象常见应用 2.1

响应HttpServletResponse

冷暖自知 提交于 2020-03-17 04:52:30
  可以使用HttpServletResponse来对浏览器进行响应,大部分情况下,会使用setContentType()设置响应类型,使用getWriter()取得PrintWriter对象,而后使用PrintWriter的println()等方法输出。 一、设置响应标头、缓冲区    使用setHeader()、addHeader()来设置响应标头,setHeader()设置标头名称与值。如果标头是整数,可以使用setIntHeader()、addIntHeader()方法。所有的标头设置都必须在响应确认Commit之前。   容器可以对响应进行缓冲,getBufferSize()、setBuffferSize()、isCommitted()、reset()、resetBuffer()、flushBuffer()等。setBufferSize()必须在getWriter()之前调用。isCommitted用来查看是否响应确认。reset()重置,会连设置的标头一起重置。但是resetBuffer()会重置响应内容,不会重置标头。flushbuffer()会清除flush所有的缓冲区中已设置的响应信息至客户端。   HttpServletResponse对象若被容器关闭,则必须清除所有的响应内容,响应对象被关闭的时机点有以下几种:     1、Servlet的service(

HttpServletResponse对象(一)

守給你的承諾、 提交于 2020-03-17 04:50:28
  web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象。  request和response对象既然代表请求和响应,那么我获取客户机提交过来的数据,找request对象,向客户机输出数据,只需要找response对象。 一:HttpServletResponse对象介绍    HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据,发送响应头,发送响应状态码的方法。 1.1:负责向客户端(浏览器)发送数据的相关方法    1.2:发送响应头的相关方法 1.3:发送响应状态码的相关方法    1.4:响应状态码的常量   HttpServletResponse定义了很多状态码的常量,具体查看API   常见的:404 200: 500: 二:HttpServletResponse对象常见应用   2.1使用outputStream流向客户端输出中文数据   范例:public class ResponseDemo01 extends HttpServlet{ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws

JavaIO - 打印流

淺唱寂寞╮ 提交于 2020-03-11 13:09:26
打印流可以直接操作输入流和文件。 不负责数据源,只负责数据目的 为其它输出流,添加功能 不会抛出IO异常,但可能会抛出其他异常 PrintStream和PrintWriter的区别 : ● 方法名完全一致,一般使用PrintWriter,灵活性更强 ● PrintWriter类实现了PrintStream类中的所有print方法 ● PrintStream和PrintWriter的区别在构造方法上,指定输出的目的端 ● PrintStream构造方法接收:File对象,字符串路径,字节输出流OutputStream ● PrintWriter构造方法接收:File对象,字符串路径,字节输出流OutputStream,字符输出流Writer 1.PrintStream(字节打印流) 它的打印方法print可以保证数值的表现形式不变。写的是什么样子,目的地就是什么样子 类中常用方法: ● PpintStream(File file):通过一个File对象实例化PrintStream类 ● printStream(OutputStream out):接收OutputStream对象,实例化PrintStream类 ● printf(Locale l,String format,Object args):根据指定的Locale进行格式化输出 ● printf(String format

SpringCloud学习笔记(19)----Spring Cloud Netflix之服务网关Zuul自定义过滤器

我的未来我决定 提交于 2020-03-09 16:52:21
  zuul不仅只是路由,还可以自定义过滤器来实现服务验证。   实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误。   扩展:一般情况下,可以采用JWT规范来做token的校验。   JWT:https://jwt.io/ 1. 自定义过滤器 package com.wangx.cloud.springcloud04zuul.filter; import com.netflix.zuul.ZuulFilter; import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.exception.ZuulException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class MyFilter extends ZuulFilter { @Override public String filterType() { return "pre"; }

Java学习84:PrintStream和PrintwWriter

笑着哭i 提交于 2020-03-04 03:43:32
PrintStream是一种FilterOutputStream,它在OutputStream的接口上,额外提供了一些写入各种数据类型的方法: 写入int:print(int) 写入boolean:print(boolean) 写入String:print(String) 写入Object:print(Object),实际上相当于print(object.toString()) … 以及对应的一组println()方法,它会自动加上换行符。 我们经常使用的System.out.println()实际上就是使用PrintStream打印各种数据。其中,System.out是系统默认提供的PrintStream,表示标准输出: System . out . print ( 12345 ) ; // 输出12345 System . out . print ( new Object ( ) ) ; // 输出类似java.lang.Object@3c7a835a System . out . println ( "Hello" ) ; // 输出Hello并换行 System.err是系统默认提供的标准错误输出。 PrintStream和OutputStream相比,除了添加了一组print()/println()方法,可以打印各种数据类型,比较方便外,它还有一个额外的优点

Java编程的逻辑 (58) - 文本文件和字符流

╄→гoц情女王★ 提交于 2020-02-26 22:20:15
上节我们介绍了如何以字节流的方式处理文件,我们提到,对于文本文件,字节流没有编码的概念,不能按行处理,使用不太方便,更适合的是使用字符流,本节就来介绍字符流。 我们首先简要介绍下文本文件的基本概念、与二进制文件的区别、编码、以及字符流和字节流的区别,然后我们介绍Java中的主要字符流,它们有: Reader/Writer:字符流的基类,它们是抽象类。 InputStreamReader/OutputStreamWriter:适配器类,输入是InputStream,输出是OutputStream,将字节流转换为字符流。 FileReader/FileWriter:输入源和输出目标是文件的字符流。 CharArrayReader/CharArrayWriter: 输入源和输出目标是char数组的字符流。 StringReader/StringWriter:输入源和输出目标是String的字符流。 BufferedReader/BufferedWriter:装饰类,对输入输出流提供缓冲,以及按行读写功能。 PrintWriter:装饰类,可将基本类型和对象转换为其字符串形式输出的类。 除了这些类,Java中还有一个类Scanner,类似于一个Reader,但不是Reader的子类,可以读取基本类型的字符串形式,类似于PrintWriter的逆操作。 理解了字节流和字符流后

android崩溃日志收集

孤人 提交于 2020-02-17 04:21:14
收集android的崩溃 主要步骤: 实现UncaughtExceptionHandler 我们需要实现UncaughtExceptionHandler接口中的uncaughtException方法。该方法中最常见的操作就是读取崩溃的stacktrace,然后上报服务器数据便于分析。 实现代码 public class SimpleUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { private static final String LOGTAG = "SimpleUncaughtExceptionHandler"; @Override public void uncaughtException(Thread thread, Throwable ex) { //读取stacktrace信息 final Writer result = new StringWriter(); final PrintWriter printWriter = new PrintWriter(result); ex.printStackTrace(printWriter); String errorReport = result.toString(); Log.i(LOGTAG, "uncaughtException

JSP生成静态html网页

梦想的初衷 提交于 2020-02-16 10:04:08
1 /** 2 * jsp生成静态html网页 3 */ 4 public class ToHtml extends HttpServlet { 5 public void service(HttpServletRequest request, HttpServletResponse response) 6 throws ServletException, IOException { 7 String url = ""; 8 String name = ""; 9 ServletContext sc = getServletContext(); 10 String file_name = request.getParameter("file_name");// 你要访问的jsp文件名,如index,不包括扩展名 11 // 则你访问这个servlet时加参数.如[url]http://localhost/test/toHtml?file_name=index[/url] 12 url = "/" + file_name + ".jsf";// 你要生成的页面的文件名。我的扩展名为jsf . 13 name = ConfConstants.CONTEXT_PATH + "\\" + file_name + ".htm";// 这是生成的html文件名,如index.htm

AcWing 1229. 日期问题 (枚举)

◇◆丶佛笑我妖孽 提交于 2020-02-14 11:38:59
Problem 很恶心的日期问题,很容易楼某个特殊的数据。 import java . io . BufferedReader ; import java . io . IOException ; import java . io . InputStreamReader ; import java . io . PrintWriter ; public class Main { static BufferedReader br = new BufferedReader ( new InputStreamReader ( System . in ) ) ; static PrintWriter pw = new PrintWriter ( System . out ) ; static int [ ] days = new int [ ] { 0 , 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 } ; public static boolean check ( int year , int month , int day ) { if ( month == 0 || month > 12 ) return false ; if ( day == 0 || month != 2 && day > days [