• servlet中的细节


    Get方法有大小限制:1024个字符。这些信息使用 Query_String头传递,并通过Query_String环境变量访问。
    Post方法:请求体信息使用FromData头传递。
    读取所有表单参数:getParamterNames()方法。枚举类型。
    遍历枚举:使用hasMoreElements()来确定何时停止循环,使用nextElement()方法来获取每个参数名称。

    Servlet请求:
    String host = req.getHeader("Host"); // localhost:8080 主机和端口
    String referer = req.getHeader("Referer"); // http://localhost:8080/myservlet/index.jsp 页面1链接到页面2,到页面2后,页面1的URL地址
    String contextPath = req.getContextPath(); // /myservlet
    String requestURI = req.getRequestURI(); // /myservlet/DisplayHeader
    StringBuffer requestURL = req.getRequestURL(); // http://localhost:8080/myservlet/DisplayHeader
    String requestedSessionId = req.getRequestedSessionId(); // F06D8A91D7A213B23BD42107CFA68601 Session 会话 id
    int serverPort = req.getServerPort(); // 8080 端口号

    http://localhost:8080/myservlet/DisplayHeader?method=show 详解
    http: 传输协议
    localhost: 主机地址
    8080: 端口号
    myservlet: contextPath
    DisplayHeader: servletPath
    method=show: 参数


    Servlet 响应:
    resp.setContextType("text/html");
    PrintWriter out = resp.getWriter();
    out.print("hello world!");


    一个有意思的小栗子(每隔5秒刷新页面):
    resp.setIntHeader("Refresh", 5);
    Calendar calendar = new GregorianCalendar();
    String am_pm;
    int hour = calendar.get(Calendar.HOUR);
    int minute = calendar.get(Calendar.MINUTE);
    int second = calendar.get(Calendar.SECOND);
    if(calendar.get(Calendar.AM_PM) == 0)
    am_pm = "AM";
    else
    am_pm = "PM";
    String CT = hour+":"+ minute +":"+ second +" "+ am_pm;

    resp.setContentType("text/html");
    PrintWriter out = resp.getWriter();
    out.print(CT);


    Servlet过滤器目的:
    在它们访问后端资源之前,拦截这些来自客户端的请求
    在他们发送回客户端之前,处理这些来自服务端的响应

    规范建议的各种类型的过滤器:
    身份验证过滤器。
    数据压缩过滤器。
    加密过滤器。
    触发访问事件资源的过滤器。
    图像转换过滤器。
    日志记录和审核过滤器。
    MIME-类型链过滤器。
    Tokenizing 过滤器。
    转换 XML 内容的 XSL/T 过滤器。


    filter-mapping 顺序决定了过滤顺序


    Cookie的键和值不能包含后边的任意一个字符: [ ] ( ) = , " / ? @ : ;

    Session:
    删除整个会话:你可以调用 public void invalidate() 方法来删除整个会话。
    设置会话超时:你可以调用 public void setMaxInactiveInterval(int interval) 方法来单独设置会话超时。
    web.xml 配置 Session 会话超时(分钟):
    <session-config>
    <session-timeout>15</session-timeout>
    </session-config>

  • 相关阅读:
    Win11更新失败错误代码0x8007000d怎么办? L
    等不到明天了,office2021专业正式版镜像来了! L
    office2003安装包下载,专业版&完整版&官方原版! L
    office2007安装包下载,专业版&完整版&官方原版! L
    office2019安装包下载,专业版&完整版&官方原版! L
    office2016安装包下载,专业版&完整版&官方原版! L
    Office 2021简体中文正式版来啦!在线安装! L
    office2013安装包下载,专业版&完整版&官方原版! L
    直链下载Windows和office安装包,这个网站值得收藏! L
    office2010安装包下载,专业版&完整版&官方原版! L
  • 原文地址:https://www.cnblogs.com/solverpeng/p/5613568.html
Copyright © 2020-2023  润新知