栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javaweb04 请求响应

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javaweb04 请求响应

发送响应消息体相关的方法
**1.getOutputStream()方法

该方法所获取的字节输出流对象为 ServletOutputStream 类型。用于输出二进制格式的响应正文。
2.getWriter()方法
该方法所获取的字符输出流对象为PrintWriter类型。用于输出内容全为字符文本的网页文档。
在Eclipse中创建Web项目的schapter04,在项目的src目录下,新建一个名称为hb.response的包,在包中编写一个名为PrintServlet的Servlet类 该类使用了response对象的getoutputstream方法获取输出流对象**

在 web.xml中配置完PrintServlet的映射后,启动Tomcat 服务器结果如图

4.2 HttpServletResponse 应用

解决输出乱码问题
1.创建Servlet
在chapter04项目的pidan.chapter04.response包中编写一个名为PidanServlet的类,在该类中定义一个中文字符串,然后使用字符输出流输出


出现了乱码说明response对象的字符输出流在编码时,采用的是ISO-8859-1的字符码表,该码表并不兼容中文。为了解决上述编码错误,在上面代码备注处增加一行代码,设置字符编码使用的码表为UTF-8

再次运行服务器显示为下图

对于上图的错误可以通过使用HttpServletResponse对象来解决乱码问题

启动服务器运行结果如图

4-2实现网页定时刷新并跳转

在chapter04项目的hb.response包中编写一个名为RefreshServlet的类,该类使用response对象的setHeader()方法实现网页的定时刷新并跳转的功能r如图

在 web.xml中配置完RefreshServlet 映射后,启动Tomcat 服务器,在浏览器访问RefreshServlet,发现浏览器2 秒后自动跳转到了自己博客的页面

自动刷新页面
对文件进行修改,使当前页面每隔3秒自动刷新一次

启动Tomcat 服务器,在浏览器访问RefreshServlet,可以看到浏览器每隔3秒刷新一次,并且输出了当前的时间的值
实现请求重定向
为了实现请求重定向,在HttpServletResponse 接口中,定义了一个sendRedirect()方法,该方法用于生成302响应码和Location响应头,从而通知客户端重新访问Location响应头中指定的URL。
(1)在chapter04项目的WebContent目录下编写用户登录的页面login.html和登录成功的页面welcome.html


(2)在pidan.response包中编写一个名为LoginServlet 的类,用于处理用户登录请求
在 web.xml中配置完LoginServlet 映射后,启动Tomcat 服务器

HttpServletRequest对象

获取请求行信息的相关方法
在chapter04项目的src目录下,新建一个名称为hb.request的包,在包中编写一个名为RequestLineServlet的类,该类中编写了用于获取请求行中相关信息的方法,如下图所示


**

获取请求消息头的相关方法

**
在hbrequest包中编写一个名为RequestHeadersServlet的类,使用getHeaderNames()方法来获取请求消息头信息

启动服务器运行结果为

4.4HttpServletRequest 应用

1)在chapter04项目的WebContent根目录下编写一个表单文件form.html

在hb.request包中编写一个名称为RequestParamsServlet的Servlet类,使用该Servlet获取请求参数


在 web.xml中配置完 RequestParamsServlet 映射后,访问form.html页面并填写表单相关信息
单击【提交】按钮,在Eclipse的控制台打印出了每个参数的信息.

解决请求参数的中文乱码问题

在chapter04项目的hb.request包中编写一个名为RequestForwardServlet的Servlet类,该类使用forword()方法将请求转发到一个新的Servlet页面

启动Tomcat服务器,再次访问 form.html页面,输入中文用户名“蓝色”以及相关表单信息

在chapter04项目的pidan.request包中编写一个名为RequestForwardServlet的Servlet类,该类使用forword()方法将请求转发到一个新的Servlet页面

在 hb.request包中编写一个名为ResultServlet的Servlet类,该类用于获取RequestForwardServlet 类中保存在request对象中的数据并输出

在web.xml中,添加完两个Servlet的映射信息后,启动Tomcat 服务器,在浏览器中访问RequestForwardServle 结果如图所示

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572901.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号