·servlet的service()方法用于应答请求:每次请求都会调用service()方法

public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException 

ServletRequest :封装了请求信息,可以获取任何的请求信息
ServletResponse :封装了相应信息,如果想给用户什么相应,可以具体使用该接口方法实现。

·ServletRequest(可以获取任何的请求信息)

  1)获取请求参数

  String getParameter()  //获取一个,函数的参数就是input里面name的值

  String[] getParameterValues //获取一组,checkbox

  Enumeration getParameterNames() //获取所有的name值

  Map getParameterMap() //获得键值对

@Override
public void service(ServletRequest Request, ServletResponse Response) throws ServletException, IOException {
//根据请求参数的名字,返回参数值。若有多个值(如checkbox),该方法只返回第一提交的值
String name1 = Request.getParameter("user");
System.out.println(name1);
String name2 = Request.getParameter("1");
System.out.println(name2);
String[] name3 = Request.getParameterValues("1");
for(String x: name3){
System.out.println(x);
} Enumeration<String> name4 = Request.getParameterNames();
while(name4.hasMoreElements()){
String name = name4.nextElement();
String val = Request.getParameter(name);
System.out.println(name+" :"+val);
}
System.out.println("service"); }

  2)利用HttpServletRequest获取更多值:HttpServletRequest是ServletRequest的子接口,需要强转

上代码

HttpServletRequest re = (HttpServletRequest)Request;
String uri = re.getRequestURI();
System.out.println(uri);

  总结:getRequestURI():请求uri

     getQueryString():若是GET请求方式,获取?后面的信息

        getServletPath():获取servlet的映射路径·

·ServletResponse (想给用户什么相应,可使用该接口方法实现)

  PrintWriter getWriter()

PrintWriter out =  Response.getWriter();
out.println("objk"); //在浏览器上打印objk

servlet之ServletRequest与ServletResponse (三)的更多相关文章

  1. Servlet的生命周期及filter,servletRequest和servletResponse

    序,Web应用中,Servlet和Filter是很重要的两个概念,一定要理解透彻. 一.Servlet类 继承自HttpServlet,HttpServlet是一个抽象类,主要包含的方法有init,s ...

  2. javaWEB中的ServletRequest,ServletResponse的使用,及简化Servlet方法

    首先说一下ServletRequest,ServletResponse类的使用方法: public void service(ServletRequest request, ServletRespon ...

  3. service(ServletRequest req, ServletResponse res) 通用servlet 可以接受任意类型的请求 用于扩展

    service(ServletRequest req, ServletResponse res)   通用servlet 可以接受任意类型的请求  用于扩展

  4. 深入理解ServletRequest与ServletResponse

       请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpServletResponse来表示Http请求和响应.这两个类均来自javax.se ...

  5. Servlet 常用API学习(三)

    Servlet常用API学习 (三) 一.HTTPServletRequest简介 Servlet API 中定义的 ServletRequest 接口类用于封装请求消息. HttpServletRe ...

  6. ServletRequest与ServletResponse

    http://lavasoft.blog.51cto.com/62575/275586/ 请求和相应是Web交互最基本的模式,在Servlet中,分别用HttpServletRequest与HttpS ...

  7. 第一个web程序(ServletRequest , ServletResponse)

    一.ServletRequest 1.获取参数的方法(四种) > String getParameter(String name): 根据请求参数的名字, 返回参数值. 若请求参数有多个值(例如 ...

  8. 关于Filter中ServletRequest和ServletResponse强转HttpServletRequest和HttpServletResponse安全问题(向下转型一定不安全吗?)

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOE ...

  9. 关于Filter中ServletRequest和ServletResponse强转HttpServletRequest和HttpServletResponse

    ---转载自:https://www.cnblogs.com/mei0619/p/8341159.html request对象的生成方式不是ServletRequest request = new S ...

随机推荐

  1. python 编码 自动加双斜杠问题

    小编最近在进行utf-8转码的时候,遇到一个问题: 当其他编码中含有斜杆,如: 当取出该字符串时,会自动把斜杆转换成双斜杠 导致转码报错: 这时候可以在转码的时候加上,即可转换成功了 .decode( ...

  2. img标签和 background 属性的使用分析

    在网页布局中引入图片,最常用的两个就是 img 标签和 background 属性了.但何时使用 img 标签,何时使用 backround 背景图像呢? <img> 标签定义 HTML ...

  3. hashlib 和 hmac 算法的区别

    -----md5 = hashlib.md5() md5.update(password+salt) md5.hexdigest() ----- h = hmac.new(key,password,d ...

  4. WEB UI 上传URL附件(使用方法备份)

    FUNCTION zcrm_update_atta. *"------------------------------------------------------------------ ...

  5. swagger坑

    接口测试导出Excel,使用swagger得到响应后手动点击下载--Excel时文件损坏无法打开,,,而直接请求链接下载到的文件正常打开..

  6. 关于分布式代码管理工具git

    一.安装 Step1  进入官网https://www.git-scm.com/download/下载,然后安装,一直“下一步”即可 Step2  验证是否安装成功,在任意地方右键,菜单中含有Git ...

  7. Git bash 配置多个远端仓库

    $ cat .ssh/config #aliyeye Host aliyeye.com.cn HostName aliyeye.com.cn PreferredAuthentications publ ...

  8. 【Java集合系列五】HashMap解析

    2017-07-31 19:36:00 一.简介 1.HashMap作用及使用场景 HashMap利用数组+单向链表的方式,实现了key-value型数据的存储功能.HashMap的size永远是2^ ...

  9. mybatis(二)

    一级缓存和二级缓存 mybatis一二级缓存测试实例: package com.atguigu.mybatis.test; import java.io.IOException; import jav ...

  10. C语言的#if #ifdef #ifndef

    #if #ifedf #ifndef   —般情况下,C语言源程序中的每一行代码.都要参加编译.但有时候出于对程序代码优化的考虑.希望只对其中一部分内容进行编译.此时就需要在程序中加上条件,让编译器只 ...