servlet登录界面输入用户名密码之后不转向登录成功界面是怎么回事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet登录界面输入用户名密码之后不转向登录成功界面是怎么回事相关的知识,希望对你有一定的参考价值。

其实楼上说的基本上都正确了,可能你不太理解吧! 我就说详细些吧! 在建LoginServlet时候会在xml里面自动注册 LoginServlet 这里面有一个 servlet 路径的问题。。。如果是根目录下面 不许改动,如果不是 有两种解决方法:1、改xml里面的servlet的路径, 2、更改登录界面的jsp中的action,跳转的路径 总的来说 它们的路径要保持一致的。。。用户名密码的问题,这个可以用debug来检测一下 看看是否往LoginServlet里面跳转,也可以在servlet里面写用户名密码错误的提示(估计不是这个问题)。。。 本人认为最大的可能就是xml 和 jsp 里面的 路径 写错了。。。顺便说下 名称不能写错哦! 望采纳! 要是没解决 可以把你的项目 或者相关文件发到我qq邮箱: 752265363@qq.com 明日会回复你。。。 参考技术A 1,路径不对
2,xml文件中没有注册servlet
3,表单的action没有写路径
4,用户名密码不对
5,servlet中的跳转语句错误
自己看看吧

JAVA WEB中的Servlet过滤器

实现一个Servlet过滤器,可以对用户登录情况进行控制。要求如下:

1)访问路径是admin下的资源,需要登录,如果用户没有登录,自动转向用户登录页面。用户登录成功后,再次访问admin下的资源不需要登录。

2)访问其他路径下的资源,不需要登录,可直接访问。

3)必须使用Servlet过滤器实现该功能。

工具:eclipse、tomcat

过程如下:

一、制作登录界面,其中包含用户名以及密码的验证(实验内容),另外加了一个验证是否是因为访问受限资源而跳转到登陆界面(flag),只能将获得path通过form表单的post方式发送出去,不能在Java代码中直接将path放入request请求,这样即使放入成功,在servlet中也获取不到,因为下面还有form表单的提交,两个request不在一个作用域中,因此,我将获取的path信息放入一个input标签中,并使之隐藏,这样既可以成功发送,又不影响原界面的美观。


技术分享图片
***********************************************
技术分享图片
********************************************

二、 制作访问路径过滤器

(1) 将请求转换为http请求

(2) 判断获得用户名是否为空(是否已经登陆)

(3) 获得当前请求的访问路径(用于登陆后跳转至原界面而不是一个固定的界面)

(4) 如果用户名不为空,说明已经登陆则可以直接访问

(5) 如果用户名为空,说明用户还未登陆,如果url也不为空,记录将要访问的url中的最后/和访问的文件名放入request中,并且令flag等于1(说明是重定向至登录界面,而不是直接访问登录界面)将所有请求重定向至登录界面。


技术分享图片
********************************************

三、在web.xml中配置相应属性,用于过滤器过滤admin路径下的所有资源


技术分享图片
********************************************

四、配置四个界面,基本不做任何处理,放一段文字即可,然后配置统一的css属性,改变其背景颜色,并令其居中显示,四个文件以及css配置如下:(两个界面放置在admin目录下,一个another.jsp界面放在admin外面,不需要登陆即可访问,fail.jsp是用户登录失败的界面,下面仅以介绍success1.jsp为例)


技术分享图片
********************************************
技术分享图片
********************************************

五、编写success1.jsp界面,在session中获取登陆的用户名并且展示在界面上


技术分享图片
********************************************

六、编写LoginServlet类,用于用户登陆之后进行验证等操作

(1) 将字符转码

(2) 获取请求的用户名密码以及访问路径

(3) 判断用户名及密码是否正确

(4) 如果正确,设置session有效值为30分钟,把用户名放入session中

(5) 判断访问路径是否为空,以及是否为null字符串(经过index.jsp界面的转换,可能将null转换为String类型)

(6) 判断访问路径是否为登录界面,如果不是,就跳转到用户请求的界面,否则登陆成功后就跳转到固定的admin目录下面success1.jsp界面。

(7) 如果用户名或密码错误就跳转到失败界面。


技术分享图片
****************************************

项目源码下载地址:

点此下载











以上是关于servlet登录界面输入用户名密码之后不转向登录成功界面是怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

SVN登录时不断弹出用户名密码输入界面如何解决?

升级win10 后登录界面无法输入密码,密码输入框输不进去任何值,求助!!

如何设置登录界面,并且需要用户自己输入用户名和密码

解决ubuntu输入正确用户密码重新跳到无法登录

用WPF写一个登录界面,我想在输入完密码后按回车就能够验证登陆,而不需要用鼠标单击登陆按钮

xp无故出现登录界面