• JavaWbe,Servlet操纵方法,常用API使用


    此篇查询使用,详细转到相应blog

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


    responseAPI方法:
    详情请转到 https://www.cnblogs.com/xiaozhang666/p/13366850.html

    --相应包返回页面信息
    此方法返回值会被ajax捕捉
    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为读取到要下载的文件路径
    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 API方法:

    详解请转到  https://www.cnblogs.com/xiaozhang666/p/13356690.html

    --获得客户端的请求方式
      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); --requset域   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);
  • 相关阅读:
    layer备忘
    Java中遍历Map对象的4种方法
    为什么Java中1000==1000为false而100==100为true?
    linux系统安装psycopg2
    centos7源码安装mysql5.7
    Azure Sql
    javascript和jQuery动态修改css样式的方法
    Git early EOF index-pack failed 问题
    C# 多线程——SemaphoreSlim的使用
    Docker 可视化
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/10624000.html
Copyright © 2020-2023  润新知