接着上一篇我们在搞完servlet的终极模式之后,接着就需要对发送的请求做出响应了

在这里,所谓的响应,都是返回页面的语言在浏览器上显示也就是HTML语言,所以返回的结果只有HTML语言才能在浏览器上显示

1.response

  response在使用之前有需要设置response的编码格式,否则输入中文就会乱码设置时需要注意,一定要在response.getWriter()之前,因为有些servlet在生成的时候回默认在doget生成一个,否则就没有用response.getWriter()

response.setHeader("Content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");

乱码请设置

1.response.getWriter()  写的字符串就是HTML就是网页源代码,也就是说换行就是writer.write("<br>");

  

PrintWriter writer= response.getWriter();
writer.write("\n\raaa 响应成功\n\r\naaa");

writer方式

2.如果要返回一个页面则需要重定向

response.sendRedirect("res_and_rsp.html");

重定向

2.request

1.网页中填写的表单,会以request.getParameter()的方式取出

  

String username = request.getParameter("username");
String password = request.getParameter("password");

requser取出form中的值

2.request获得当前页面的路径

String path = request.getContextPath();

3.转发请求    先获取一个转发器   然后输入路径在forward即可

RequestDispatcher Dispatcher= request.getRequestDispatcher("res_and_rsp.html");
Dispatcher.forward(request, response);

转发

转发的重定向的区别

1.1转发对浏览器来说是一次请求 处理发送的过程在服务器内部发生,也就是说,浏览器告诉服务器要给我一个东西,服务器就给了

1.2重定向是两次请求 首先请求服务器,服务器告诉你,你需要请求的页面地址,然后你再次请求该页面地址得到结果

2.1转发地址栏地址无变化,重定向地址栏有变化

3.1转发可以访问WEB-INF目录下的资源,重定向不可以

//转发
RequestDispatcher Dispatcher= request.getRequestDispatcher("WEB-INF/one.html");
Dispatcher.forward(request, response); //重定向
response.sendRedirect("WEB-INF/one.html");

WEB-INF/one.html文件测试

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>你有权利</h1>
</body>
</html>

WEB-INF/one.html

4.1转发可以共享request域中的数据,重定向不可以共享request域中的数据

最新文章

  1. apache 配置rewrite模块,URL中隐藏index.php
  2. CSS4
  3. VS2015解决非Unicode编码包含中文字段无法编译的问题
  4. REVERSE
  5. github 添加项目
  6. 简单几步把LOGO变字体
  7. ASP.NET Global Application_Error事件中访问Session报错 解决
  8. mongostat 3.2指标详解
  9. 三款SDR平台对比:HackRF,bladeRF和USRP
  10. WCF学习心得----(五)生成客户端
  11. Annotation 与 HttpClient(5)--Annotation HttpClient
  12. C#实现给手机发送短信
  13. OpenLayer 3 鹰眼控件和全屏显示
  14. 四大组件之Activity小结
  15. 《深入理解Java虚拟机》读书笔记2--垃圾回收
  16. springboot情操陶冶-web配置(五)
  17. C++_day8_ 多重继承、钻石继承和虚继承
  18. scrapy简单使用
  19. python random使用方法
  20. 什么是servlet?

热门文章

  1. 基于python实现单链表代码
  2. 【Luogu】P3005 [USACO10DEC]槽的游戏The Trough Game
  3. go 结构体函数
  4. C#文件序列化
  5. 作用域 - Js深入理解笔记
  6. 使用Pytorch搭建模型
  7. OpenCV开发笔记(七十三):红胖子8分钟带你使用opencv+dnn+yolov3识别物体
  8. Java面试题集(一)答案汇总(1-22)
  9. 专题一:why redis ?
  10. MYSQL连接时错误码2059解决办法