最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

request

运维笔记admin6浏览0评论

request

request

-

2023年4月27日发(作者:沁园春长沙原文全文)

HttpServletRequest对象详解:

该对象表示浏览器的请求(http请求),当web服务器得到该请求后,会把这些请求

信息封装成一个httpservletrequest对象,开发人员通过这个对象的方法,可以得到这

些信息

URL和uri的区别

url=http://localhost:8080/servletrequest/getinfo//完整的路径

uri=/servletrequest/getinfo//web名称加上资源名称

ryString():该函数可以获得请求部分的数据(参数和值)

例如:http://localhost:8080/web名?username=yyl&pwd=123

, ryString()就会得到username=yyl&pwd=123

练习:

补充:当我们下载文件的时候,可能提示框是中文乱码

String temp=oder.encode("传奇.mp3", "utf-8");//资源名中文名解决方案

der("Content-Disposition",

"attachment;filename="+temp);

path=this.getServletContext().getRealPath("/source/传奇.mp3");

1. 获得客户机请求头

getHeader方法

getHeaderNames:获得所有请求的消息头

2. 获得客户机请求参数

a) getParameter方法

b) getParameterValues(String name)

c) getParameterNames方法

例题:

界面显示代码:

n("");

逻辑处理代码:

tentType("text/html;charset=utf-8");//设置浏览器显示为中文

racterEncoding("utf-8");//设置post接收的编码为中文

PrintWriter out = ter();

String u=ameter("username");

String p=ameter("password");//里面的全是name

String sex=ameter("sex");

String city=ameter("city");

String intro=ameter("intro");

String hidden=ameter("hidden1");

//如果接收复选框的内容,则使用getparametervalues方法

String hobby[]=ameterValues("hobby");

n("u="+u+"");

n("p="+p+"");

n("sex="+sex+"");

if(hobby!=null){

for(String s:hobby){

n("hobby="+s+"");

}

}else{

n("你没有爱好");

}

n("city="+city);

n("你的介绍:"+intro);

n("隐藏控件传递的数据是:"+hidden);

3. 请求转发

现在使用request提供的转发的方法,实现上次使用direct()的效果

ribute("user", u);

//表示使用转发的方法,把request和response对象传递给下一个servlet对象

uestDispatcher("(/requestforward)/servlet2").forward(request,

response);

a) 使用forward不能转发到该web应用之外的url

b) 因为forward是发生在服务器的,不是在浏览器,所以servlet1和servlet2使用的是同一

个resquest和response

c) 使用sendredirect()方法不能够通过ribute把属性传递给下一个

servlet

面试题:请问sendredirect和forward的区别是什么

答:1.叫法不一样,前一个叫重定向,转发,后一个叫转向

2.实际发生的位置不一样:前一个发生在浏览器端,后一个发生在服务器端

3.用法不一样

direct(“/web应用/资源URL”);

uestDispatcher(“/资源URL”).forward(request,response);

4. 能去的范围不一样,前一个可以去任何URL,后一个只能去当前的web应用资源

什么是一次http请求

只要没有停止,同时没有回到浏览器重定向,就算一次

如果转向多次,我们的浏览器地址栏保留的是第一次转向的那个servlet的URL

-

request

发布评论

评论列表(0)

  1. 暂无评论