JSP-------request内置对象以及乱码解决

二十、request内置对象
主要工作就是服务器端接收客户端传来的参数
主要方法getParameter()
继承结构:
javax.servlet.http.HttpServletRequest接口对象
public interface HttpServletRequest extends ServletRequest
通过继承可以发现HttpServletRequest属于javax.servlet.ServletRequest接口的子类,且javax.servlet.ServletRequest只有HttpServletRequest这一个子接口,HttpServletRequest子接口是专门为了处理HTTP协议而提供的,ServletRequest是负责处理所有相关协议的公共接口
所有提供的含有参数的方法都是在ServletRequest父接口提供的


二十一、request内置对象,乱码解决
----input.html
<meta charset="UTF-8">
<form action="input.jsp" method="post">
    请输入内容:<input type="text" name="msg" id="msg">    <!-- name和id一般是一样的,同时出现-->
    <input type="submit" value="提交">
</from>
----input.jsp
<%@ page Encoding="UTF-8"%>
<%
    String str=request.getParameter("msg");
%>
<h1>输入内容:<%=str%></h1>

以上运行会出现乱码
考虑两种情况:
**post提交请求(表单上使用):可以直接使用ServletRequsest父接口定义的方法
|--同一请求编码:public void setCharacterEncoding(String env) throws UnsupportedEncodingException;
**get提交请求(直接输入请求路径、表单):在HTTPServlet接口里面有一个方法,此方法可以判断出当前的请求模式,如果使用了get请求,那么所有的编码方式就是用的是ISO8859-1编码,所以子啊接手之后需要进行编码的转换
|--取得请求模式:public String getMethod()

----input.jsp
<%@ page Encoding="UTF-8"%>
<%
    request.setCharacterEncoding("UTF-8");
    String str=request.getParameter("msg");
%>
<h1>输入内容:<%=str%></h1>
<h1>请求模式:<%=request.getMethod()%></h1>

关于post与get请求的区别?
post请求主要用于表单上,处理路径只是提交路径
get请求只要是用户进行页面访问,那么请求类型一定就是get请求,表单页面也可以及使用get请求,但是有一个问题,它会将所有的请求参数都附加到表单访问路径上,所以不能够传递过多的内容,一般只能够传递4K到5K左右的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值