如何在禁用cookie时使表单正常工作?

时间:2014-06-12 21:06:58

标签: java jsp tomcat cookies

这是一个java web应用程序,在.jsp文件中我有:

<form method="post" action="<% out.print(response.encodeRedirectURL(request.getContextPath()+"/target.do")); %>"
      accept-charset="utf-8">
    <label for="name">
        <input type="text" name="name" id="name"/>
    </label>
    <input type="submit">
</form>

target.do映射到doPost所在的servlet:

HttpSession session = httpServletRequest.getSession();
session.setAttribute("sessionName",httpServletRequest.getParameter("name"));
httpServletResponse.sendRedirect(getServletContext().getContextPath()+"/target.jsp");

在target.jsp中我只显示名称:

Your Http Session name is:
<%
    String sessionName = (String) request.getSession().getAttribute("sessionName");
    out.print(sessionName);
%>

但是,当禁用cookie时,这将无效。我不想使用.forward我需要使用sendRedirect。

将应用程序部署到Tomcat。

将名称放在请求属性中是一种可能的解决方案,但我实际上在寻找URL编码,但我无法实现它?

编辑:encodeURL而不是encodeRedirectURL也不起作用。

1 个答案:

答案 0 :(得分:0)

我会回答我自己的问题:

This worked:         

httpServletResponse.sendRedirect(httpServletResponse.encodeRedirectURL(getServletContext().getContextPath()+"/target.jsp"));

并且在.jsp文件中编码...部分不是必需的..