文档章节

跟小博老师一起学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
黄浦
程序员
图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket “眨眼间,离上一篇写技术博文时隔1个月。怕自己真的生疏了,都是备案太慢惹...

泥沙砖瓦浆木匠
2015/08/21
0
50
JavaWeb基础知识点之Servlet

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/w1lgy/article/details/79169527 一、servlet的概述 servlet是采用java编写的运行在服务器上的程序,用于接受...

我巴巴
01/26
0
0
图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket “眨眼间,离上一篇写技术博文时隔1个月。怕自己真的生疏了,都是备案太慢惹...

KeepMoving
2015/08/25
0
0
JSP复习笔记——第11章 JSP 构架和MVC设计模式

11.1 JSP Model I 体系结构 11.2 JSP Model II 体系结构/MVC设计模式 11.3 使用MVC设计模式改写用户注册程序 11.3.1 使用serlvet实现Controller层 11.3.2 使用jsp实现表示层 11.3.3 使用Jav...

暗之幻影
2014/12/18
0
0
和的区别

<%@include%>和jsp:include的区别,发现了一些东西的。 <%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet jsp:include:所有...

Alex_曰生
2015/04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS 7.* 配置网络

配置静态IP 进入配置文件目录 cd /etc/sysconfig/network-scripts 查找以 ifcfg-eno 开头的文件并编辑它 vi ifcfg-ens32 修改文件中的变量值 BOOTPROTO=staticONBOOT=yesIPADDR=192.168...

阿白
50分钟前
0
0
深入理解OAuth2.0协议

1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。豪车一般配备两种钥匙:主钥匙和泊...

xtof
55分钟前
1
0
Linux学习-0920

3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 一、usermode命令 usermode作用是用来修改用户信息。 方法: usermod 参数 username 示例1:修改用户uid usermod -u 1010 test5 示例2...

wxy丶
今天
1
0
synchronized锁对象的坑

今天本来写点其他东西,碰巧写了一下synchronized,没想到掉坑里面了,大佬别笑。 起初代码大概是这样的: package com.ripplechan.part_1_2_3;import java.util.concurrent.CountDownL...

RippleChan
今天
1
0
XAMPP环境搭建(Apache + MariaDB + PHP + Perl)

operation system:ubuntu-18.04.1 step1:download XAMPP #sudo wget https://www.apachefriends.org/xampp-files/7.2.9/xampp-linux-x64-7.2.9-0-installer.run step2:install XAMPP #sudo ......

硅谷课堂
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部