如何解决我如何使用JSP和Servlet编辑页面的URL
这是我在本地主机上的项目的URL,该主机是登录页面::“ http:// localhost:8080 / OnlineExamination”
在此登录有效后,我希望将URL更改为“ http:// localhost:8080 / OnlineExamination / home-page”,以防止用户在登录时将其带回登录页面页面重新加载。如何使用JSP和Servlet做到这一点?我使用了一个提交类型输入,其中锚标记周围的输入导致未提交登录表单。请帮忙!
解决方法
重定向或转发-我应该选择哪个?
由于要在浏览器中更改URL,因此必须将重定向指令发送到浏览器,而不是将请求转发到其他资源。请注意,转发请求时,新资源将从请求中获取所有内容,URL保持不变。另一方面,在重定向的情况下,浏览器会为新位置(URL)创建一个新请求,这意味着旧请求中的任何内容都将无法用于新请求。
如何在请求之间共享一些信息?
您将不得不选择更大的范围,例如session
;只需将信息放入会话中,然后在新位置进行检索即可。
该概念的说明:
OnlineExamination.java
@WebServlet("/OnlineExamination")
public class OnlineExamination extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
response.setContentType("text/plain");
// Code to check user credentials
// ...
// ...
request.getSession().setAttribute("loggedIn",true);
response.sendRedirect("OnlineExamination/home-page");
}
}
HomePage.java
@WebServlet("/OnlineExamination/home-page")
public class HomePage extends HttpServlet {
public void doGet(HttpServletRequest request,IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.write("" + request.getSession().getAttribute("loggedIn"));
}
}
这是一个非常基本的代码,仅用于说明概念。在一个真实的项目中,您可能会选择一些框架,该框架可以提供各种方法来完成所有这些任务。
,您应使用“解释器”来阻止有效的登录用户访问链接。如果仅将用户重定向到主页,他们仍然可以访问登录页面。 或者,您只是创建一个简单的函数,如果他们访问登录页面但已经登录,则必须将其重定向到首页。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。