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