此篇自用查询

存储数据的区域对象
域对象的通用的方法: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();
    在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);

转载于:https://www.cnblogs.com/xiaozhang666/p/10624000.html

JAVA-Servlet操纵方法相关推荐

  1. java servlet init方法_Servlet详解之两个init方法的作用

    servlet如果要求init中什么都不做,重写init时,需要调用super的init吗? 答案是不用,直接init里面什么都不写即可. 适用场景:当前servlet继承于A,A继承于httpser ...

  2. java servlet init方法_JSP开发Servlet重写init()方法实例详解

    jsp开发servlet重写init()方法实例详解 写一个servlet时,有时需要我们重写该servlet的初始化方法,然后,究竟是重写init(servletconfig config),还是重 ...

  3. java servlet init方法_Java HttpServlet.init方法代码示例

    import javax.servlet.http.HttpServlet; //导入方法依赖的package包/类 public void execute(String path, OutputSt ...

  4. java servlet 执行 多次_servlet 验证生命周期过程调用方法的次数

    1.书写一个servlet并编译,如: package testservlet; import java.io.IOException; import java.io.PrintWriter; imp ...

  5. java+ext.ajax,[转载]Ext Ajax:怎么调用Ext.Ajax.request方法和使用Java Servlet进行处理

    当前位置:我的异常网» Ajax » [转载]Ext Ajax:怎么调用Ext.Ajax.request方法和使 [转载]Ext Ajax:怎么调用Ext.Ajax.request方法和使用Java ...

  6. java.servlet js,调用servlet方法

    <深入剖析Tomcat>一2.1 javax.servlet.Servlet接口 2.1 javax.servlet.Servlet接口 Servlet编程需要使用到javax.servl ...

  7. Ext Ajax:如何调用Ext.Ajax.request方法和使用Java Servlet进行处理

    來源:http://www.cnzzad.com/tut/52959.html 使用Ext.Ajax.request提交数据的代码如下(这段代码在一个Js文件中,为避免中文乱码,js文件必须是utf- ...

  8. java毕业设计——基于java+Servlet+jsp的网上花店销售系统设计与实现(毕业论文+程序源码)——网上花店销售系统

    基于java+Servlet+jsp的网上花店销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Servlet+jsp的网上花店销售系统设计与实现,文章末尾附有本毕业设计的 ...

  9. java Servlet 笔记

    Technorati 标签:  java, servlet 一.什么是Servlet servlet 是位于 web 服务器内部的服务器端的java应用程序,与传统的从命令行启动java 应用程序不同 ...

  10. java servlet applet,详解Java Servlet与Applet比较

    Java Servlet与Applet相似之处: ◆它们不是独立的应用程序,没有main()方法. ◆它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用. ◆它们都有一个生存周期,包含in ...

最新文章

  1. 【深度学习笔记】Precision、Recall
  2. linux复盘:构架搭建lamp(安装)
  3. 数据结构: 排序算法介绍
  4. Linux 文件权限rwx
  5. python之从文件中按行读取数据
  6. Spark2.4.0 SparkEnv 源码分析
  7. 【三维激光扫描】实验02:StonexSiScan新建项目、加载点云数据
  8. LCD显示深究day01 mmap知识补充
  9. 已知矩阵 matlab,在MATLAB中,已知矩阵A,那么A(:,2:end)表示
  10. 在线HTML编辑器 KindEditor
  11. python提取txt字符串,教你一招!Python读取文件内容为字符串的方法
  12. 5个球放入3个箱子_国内5个经典的美食小吃,吃过3个以上算厉害,你吃过几个?...
  13. weblogic启动后,抛出大量的java.lang.ArrayIndexOutOfBoundsException异常
  14. ⌈洛谷1505⌋⌈BZOJ2157⌋⌈国家集训队⌋旅游【树链剖分】
  15. 如何格式化基于 Intel 的 Mac?
  16. kindle型号查询
  17. mecrosoft excel的单元格引用
  18. 高盛:云计算市场2021年将增至1160亿美元 四巨头成赢家
  19. 为自己的博客系统写的一篇自我介绍
  20. 将 ERP 与 PPM 系统集成的 5 个理由

热门文章

  1. jmeter.properties控制聚合报告的用户响应时间设置和smmary results
  2. 批处理命令——for
  3. java基础 包装类
  4. 成因:六大元凶让肝不堪重负
  5. Mac版微信支持朋友圈了!微信内测版体验感
  6. (日常搬砖)之environment.yml的使用
  7. Python从菜鸟到高手(1):数字的奥秘
  8. 渗透测试专题之实战技巧总结
  9. PHP-利用GD库新建图像
  10. 常去的国外网站一览表