此篇自用查询

存储数据的区域对象
域对象的通用的方法:ServletContext context=getServletContext();获取ServletContext对象
setAtrribute(String name,Object obj);
getAttribute(String name);
removeAttribute(String name);

context.getRealPath(相对于该web应用的相对地址);

此方法对应jsp中的表单name,返回值为String
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");

response响应信息:

相应包返回页面信息
response.getWriter().write("hello dandan...");

重定向
//重定向302+Location
//设置状态吗
response.setStatus(302);
//设置location响应头
response.setHeader("Location", "/web4/Servlets2");
可直接使用:
response.sendRedirect( "/web4/Servlets2");

延迟五秒  跳转:response.setHeader("refresh", "5;url=/web3test/login.jsp");

1)告知浏览器文件的类型:response.setContentType(文件的MIME类型);
2)告示浏览器文件的打开方式是下载:
response.setHeader("Content-Disposition","attachment;filename=文件名称");

同时也内含setCharacterEncoding的功能,所以在实际开发中只要编写    response.setContentType("text/html;charset=UTF-8");就可以解决页面输出中文乱码问题。

响应头输出字节
ServletOutputStream  getOutputStream()

解决响应头中中文乱码
path=new String(path.getBytes("ISO-8859-1"),"UTF-8");

//获取头中的agent来辨别客户端是哪个浏览器
        String agent=request.getHeader("User-Agent");
        //赋值讲义内容
        String filenameEncoder="";
        if (agent.contains("MSIE")) {
                // IE浏览器
                filenameEncoder= URLEncoder.encode(path, "utf-8");
                filenameEncoder= filenameEncoder.replace("+", " ");
        } else if (agent.contains("Firefox")) {
                // 火狐浏览器
        BASE64Encoder base64Encoder = new BASE64Encoder();
                filenameEncoder= "=?utf-8?B?"
                        + base64Encoder.encode(path.getBytes("utf-8")) + "?=";
        } else {
                // 其它浏览器
                filenameEncoder= URLEncoder.encode(path, "utf-8");                
        }
//告知浏览器文件类型
response.setContentType(getServletContext().getMimeType(path));
//告知客户端下载不要解析
response.setHeader("Content-Disposition", "attachment;filename="+filenameEncoder);

//明确数据源
String path2=getServletContext().getRealPath("dow/"+path);

request方法:
    获得客户端的请求方式:String getMethod()

//获取请求资源相关内容
    //地址栏url网络地址
    //访问地址uri
    String responseURI=request.getRequestURI();
    StringBuffer responseURL=request.getRequestURL();
    System.out.println("uri:"+responseURI);
    System.out.println("url:"+responseURL);

//获取项目名(项目名)
    String webName=request.getContextPath();

String paths = request.getServletContext().getRealPath("/");
    在jsp中的使用方法,${pageContext.request.contextPath}

解决post提交方式的乱码:request.setCharacterEncoding("UTF-8");
      解决get提交的方式的乱码:parameter = new String(parameter.getbytes("iso8859-1"),"utf-8");

//获取单个参数值
        String username=request.getParameter("user");
        //获取一name多个值
        String[] hobbys=request.getParameterValues("hobby");

//获取指定的请求头
        String refer=request.getHeader("Referer");

获取请求头的方法:
String getParameter(String name)
String[] getParameterValues(String name)
Enumeration getParameterNames()
Map<String,String[]> getParameterMap()

request.getRequestDispatcher(转发的地址).forward(req,resp);

request.setAttribute(name,value)
    request.getAttribute(name)

在jsp端接收

<%=request.getAttribute("loginInfo") %>

---------------------------------------------------------
引用外部jar ,binutils
        //获取所有参数的map集合
        Map<String,String[]> maps=request.getParameterMap();
        //创建user对象
        users users=new users();
        //使用binutils自动映射封装
        //前提是map中的map中的key必须跟users中的属性名一一对应
        //吧map写到users中
        BeanUtils.populate(users,maps);

JAVA-Servlet操纵方法的更多相关文章

  1. java servlet 几种页面跳转的方法及传值

    java servlet 几种页面跳转的方法及传值   java web 页面之间传值有一下这几种方式1.form 表单传递参数2.url地址栏传递参数3.session4.cookie5.appli ...

  2. java servlet调用带有多个返回结果集的存储过程

    一.mysql存储过程 这里我先说下我这个功能实现的逻辑及途中遇到的一些问题.这个存储过程一共带两个输入参数,一共关联到两张表的查询,每个参数都对应查询表中的一个判断,所以一共返回了两个结果集(当然要 ...

  3. java servlet+mysql全过程(原创)

    前段时间写过一篇 servlet+oracle的文章,但是那是因为公司有可能接那么一个项目,然后我当时也比较闲,所以随便学了下,那玩意是白去研究了,因为公司后面并没接到那项目. 这次学servlet用 ...

  4. java servlet+oracle 新手可看

    最近公司领导告诉接下去接的一个产品,可能会涉及到oracle数据库,以前用得最多的是mssql,前些时间学了下mysql也算少许用过.oracle没接触过.应为我之前做过.net开发,所以数据访问接口 ...

  5. Java Servlet完全教程

    Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servle ...

  6. Java Servlet系列之Servlet生命周期

    Servlet生命周期定义了一个Servlet如何被加载.初始化,以及它怎样接收请求.响应请求,提供服务.在讨论Servlet生命周期之前,先让我们来看一下这几个方法: 1. init()方法 在Se ...

  7. JAVA SERVLET专题(上)

    SERVLET简介 ·Java Servlet 是和平台无关的服务器端组件,它运行在Servlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和 ...

  8. Java Servlet——改进的CGI

    一.关于Servlet 在上一篇随笔中,我们看到了CGI存在的不足,其每次请求都需加载和运行一个CGI程序.若使用Java编写CGI程序,需要为每个请求都启动一个系统进程以及JVM,其执行效率大大降低 ...

  9. Java基础——clone()方法浅析

    一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  10. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

随机推荐

  1. js的同步与异步

    JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. JavaScript的单线程,与它的用途有关.作为 ...

  2. element-ui中cascader同时获取label和value值

    关于elementUI中cascader选中值后,能获取value或者label,但不能同时获value和label,这一问题,琢磨出了这么个办法.以新增和编辑城市为例,type: 1 编辑,type ...

  3. Linux监听磁盘使用情况

    前阵子服务器磁盘写满了,导致项目出了很多奇怪的问题,比如文件上传不了(这个很好理解),还有登录时验证码无法加载(现在依旧不知道原因,项目的验证码图片是只在内存中生成的BufferedImage对象,不 ...

  4. TCP 3-Way Handshake

    TCP是面向连接的协议,其数据传输过程分为建立连接.数据传送.释放连接三个阶段. 0 建立连接 建立连接的过程也就是常说的"三次握手": 客户端向服务器端发送一个SYN报文(SYN ...

  5. The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)

    This is an era of team success, but also an era of heroes. Throughout the ages, there have been nume ...

  6. java基础知识备忘

    1.java内存分配 a.寄存器cup -- 暂不涉及 b.本地方法栈  -- 虚拟机调用windows功能用的,比如创建文件夹 c.方法区  -- 存放 .class文件,负责存放方法 d.栈 -- ...

  7. IP 基础知识全家桶,45 张图一套带走

    前言 前段时间,有读者希望我写一篇关于 IP 分类地址.子网划分等的文章,他反馈常常混淆,摸不着头脑. 那么,说来就来!而且要盘就盘全一点,顺便挑战下小林的图解功力,所以就来个 IP 基础知识全家桶. ...

  8. 《Docker从入门到跑路》之存储卷介绍

    默认情况下,容器会随着用户删除而消失,包括容器里面的数据.如果我们要对容器里面的数据进行长久保存,就不得不引用存储卷的概念. 在容器中管理数据持久化主要有两种方式:1.数据卷(data volumes ...

  9. JAVA设计模式之桥接模式(bridge)

    桥接模式: 分离抽象与具体实现,让他们可以独自发展,防止类爆炸 场景: 过年走亲戚是我们中国人传统的习俗,走亲戚那就少不了要买东西(苹果,牛奶等等),这些具体的东西就是具体的类 蒙牛牛奶,有机苹果,有 ...

  10. 【Kafka】实时看板案例

    目录 项目需求 项目模型 实现步骤 项目需求 快速计算双十一当天的订单量和销售金额 项目模型 实现步骤 一.创建topic bin/kafka-topics.sh --create --topic i ...