文档章节

跟小博老师一起学Servlet ——Servlet案例

博为峰教研组
 博为峰教研组
发布于 2017/02/13 19:28
字数 720
阅读 4
收藏 0

细心的朋友发现Servlet的执行方法doXXX方法都带中二个类型为HttpServletRequest、HttpServletResponse的参数,通过这二个变量我们可以取请求信息与向客户端做出响应。本节小傅老师与大伙聊聊HttpServletReqeust。

HttpServletRequest

HttpServletReqeust是一个继承自ServletRequest,由容器负责创建实例,它通常作为Servlet的服务方法的参数(doGet,doPost,doDelete等)。客户端的IP、端口、参数、cookie、session等请求信息它都可以取得,是Servlet中最常用的接口之一。

 

用方法

getRemoteAddr

取得请求端的IP地址

getParamter

取得请求参数

getAttribute

取得属性

GetRequestURL

取得请求的URL

getCookies

取得客户端传来的cookies

getSession

取得会话实例

setContentType

设定MIME格式

setAttribute

设定属性

演示

/**

 * 显示HttpServletRequest接口中常用方法

 * 作者:樊建华

 * 日期:2017/2/9

 */

@Override

protected void doPost(HttpServletRequest req,

HttpServletResponse resp)

throws ServletException, IOException {

//取得请求端的IP地址

String addr = req.getRemoteAddr();

//取得请求端的端口号

Integer port = req.getRemotePort();

//取得请求的url

String  url = req.getRequestURL().toString();

//取得客户端的cookie

Cookie cookies[]= req.getCookies();

//取得会话接口实例

HttpSession session = req.getSession();

//根据参数名称取得参数值

String paramName = "uname";

String paramName_value = req.getParameter("uname");

//根据属性名称取得其值

String attrName="aname";

Object attrName_value = req.getAttribute(attrName);

//向控制台输出信息

System.out.println("你请求的IP为:"+addr+"\t端口为:"+port);

System.out.println("请不要做非法操作,我们会保存您的IP和操作记录");

System.out.println("参数名为uname的值为:"+paramName_value);

System.out.println("属性名为aname的值为:"+attrName_value);

}

 

 

 

取得参数

取得请求参数是servlet最为频繁的操作之一,它根据参数名称来取得其值。参数的名称我们可以理解为表单控件名称,一般情况表单控件是唯一,但有时也会存在同名控件。Servlet针对每种情况都提供了相应的方法。

比如我们要取得以下表单的【uname】与【interest】参数的值,我们可以这么操作。

 

<form action="http://localhost/fjhweb/req.do" method="get">

用户名:<input type="text" name="uname" /><br />

爱好:<input type="checkbox" name="interest" value="编程"/>男

<input type="checkbox" name="interest" value="写书"/>女<br />

<input type="submit" value="提交" />

</form>

 

uname

整个表单中只有一个名为uname的控件,可以使用getParameter()获取

//根据参数名称取得参数值

String paramName = "uname";

String paramName_value = req.getParameter("uname");

 

interest

表单中有二个控件都叫“interest”,此时如还采用getParameter()将不能完整的取到值。这种情况我们应该调整为getParamterValues()方法。

String paramInterest="interest";//就是表单控件名称

//由于传过来二个名都叫interest的参数,我们要用getParamterValues()方法

//并用一个字符数组接收其值

String paramInterest_value[] = req.getParameterValues(paramInterest);

 

由HttpServletRequest接口中引申出来的知识点非常多,小傅老师会陆续给大家讲解。

 

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
spring mvc 访问静态文件的问题!请指教!

这是web—xml的配置 TalentCloud index.jsp default *.js default *.css default *.png default *.jpg default *.gif spring3mvc org.springframework.web.servlet.DispatcherServlet 1 spri......

Ales_小溪
2013/07/22
805
1
web 基础巩固——JSP基础

本文按照官网文档总结,但是有可能会理解错误,学习时尽量和其他网站进行对比,同时也欢迎指出错误,好让我及时改正 什么是JSP页面? JSP页面是一个文本文档,包含两种类型的文本:静态数据,...

SXJR
11/26
0
0
在.jsp文件里面,通过jquery load方法加载另一个.jsp文件,请问这2个.jsp文件是否共享数据呢?

1.问题里面的共享数据是指,在.jsp里的脚本代码 定义的变量/对象等 举例, 2.再打个比方————包含文件,有2种方法: 1). .jsp标准动作 //这样包含进来的.jsp文件不共享数据,因为2个.jsp文...

对岸
2014/06/03
4.1K
5
tomcat 5.5 部署项目报错 关于Filter的错误。。

我在tomcat7.0部署没不报错,但是再tomcat5.5就会报错。。 listener.ContextListener UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilte......

庄泽锐
2014/03/06
1K
5
JSP运行原理与JSP隐式对象(9个)

一、JSP运行原理 Web容器(Servlet引擎)接收到.jsp为扩展名的URL访问请求时,它将把该访问请求交给JSP引擎去处理,JSP引擎负责解释和执行JSP页面。 当Web容器接收到客户端的访问请求时,它将...

KYZGJ
2014/04/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
22
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
15
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部