会话追踪的4种方式:

1)使用持续CookiesPersistent Cookies

2)重写包含额外参数的URLURL Rewriting

3)建立含有数据的隐藏表单字段(Hidden Form Field

4)使用内建session对象

1.使用Cookie。例如:

String sessionID=makeUniqueString();

HashMap seesionInfo=new HashMap();

HashMap globalTable= findTableStringSession();

globalTable.put(sessionID,sessionInfo);

Cookie sessionCookies =new Cookie(“JSESSIONID”,sessionID);

sessionCookie.setPath(“/”);

reponse.addCookie(sessionCookie);

上面这段代码先将会话信息记录在HashMap中,保存在服务器端,并用sessionID标识,然后把session[……]

阅读全文

  • JSP中引入文件的两种方式:
    • <%@ include file=”relativeURI”%> 可以叫作静态include(静态包含),是jsp指令中的一种,(JSP指令控制JSP编译器如何去生成servlet(servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类别,一般情况下,人们将Servlet理解为后者。-维基百科)
    • <jsp:include page=”relativeURI” flush=”true” />叫作动态include(动态包含),是jsp动作的一种,(JSP动作是一系列可以调用内建于网络服务器中的功能的XML标签)
  • JSP中两种include的区别:
    • 执行时间上:

      <%@ include file=”relativeURI”%> 是在翻译阶段执行

      <jsp:include page=”relativeURI” flush=”true” />[……]

阅读全文

WIN10/WIN8下的IE11发送的请求头中接受的语言参数

简体改为了zh-HANS-CN

繁体改为了zh-HANT-CN

导致request的locale变化

//解决方法:覆写相应的Locale

public class MyRequestWrapper extends HttpServletRequestWrapper{

    @Override  
    public Locale getLocale() {  
        if (locale != null) {  
            return locale;  
        }  
        
        Locale locale = super.getLocale();
        if ("HANS".equals(locale.getCountry())) {
            return Locale.SIMPLIFIED_CHINESE;
        } else if ("HANT".equals(locale.getCountry()[......]

阅读全文