登录java web app并显示jsp模板

登录java web app并显示jsp模板,java,jsp,login,Java,Jsp,Login,我的问题是我的项目中有两个jsp文件:login.jsp和adminpanel.jsp 我的目标是向用户展示login.jsp模板,并让用户通过其中的表单登录 登录后,我希望我的应用程序显示adminpanel.jsp,这是我的问题,我仍然可以通过编写url…/adminpanel.jsp来访问它 如何禁用此选项?如果您可以如此轻松地访问adminpanel.jsp,那么登录就没有意义了。当用户通过login.jsp ie登录时,您需要做的是设置一个会话变量,前提是用户名和密码都正确 之后,在所

我的问题是我的项目中有两个jsp文件:
login.jsp
adminpanel.jsp

我的目标是向用户展示
login.jsp
模板,并让用户通过其中的表单登录

登录后,我希望我的应用程序显示
adminpanel.jsp
,这是我的问题,我仍然可以通过编写url…/adminpanel.jsp来访问它


如何禁用此选项?如果您可以如此轻松地访问
adminpanel.jsp
,那么登录就没有意义了。

当用户通过login.jsp ie登录时,您需要做的是设置一个会话变量,前提是用户名和密码都正确

之后,在所有其他页面(包括adminpanel.jsp)上检查会话变量是否存在。如果是允许用户查看页面,否则重定向到登录页面

还可以检查http_重定向或url重写,通过这些重定向或重写可以屏蔽原始url

查看下面的链接了解更多信息


首先,您的身份验证应该由servlet(本质上是您的控制器类)处理。其次,所有不应该像您的情况那样直接访问的视图都应该放在WEB-INF文件夹中,迫使应用程序调用相应的控制器类。在这里,您可以根据业务逻辑和会话/cookie管理强制重定向或转发。

宣布感谢永远不应该是一个好问题的一部分:没有聊天(阅读)。您在哪里检查用户凭据?在LoginServlet中?是的,我在LoginServlet.processRequest()中检查它;听起来很聪明。稍后我将对此进行检查,此时我尝试以类似的方式使用doFilter()(使用LoginServlet中的属性),但您的版本应该更简单、更干净。谢谢