【发布时间】:2014-01-21 04:26:52
【问题描述】:
在我的应用程序中有几个页面,如 success.jsp,failed.jsp 等。在 index.html 页面中有一个表单调用 servlet 进行验证,成功验证后它会转到 success.jsp 以及其他一些页面以供其他职能。运行应用程序我们通常输入 url http://ipaddress:8080/app,在用户名和密码匹配后,它会转到 success.jsp,因此 url 更改为 http://ipaddress:8080/app/success.jsp
所以这意味着用户知道登录后转发哪个页面。为了禁止用户直接进入success.jsp,我维护会话意思是如果会话不存在则重定向到index.html。
我的问题是我想保持 URL 不变。哪个页面被称为 URL 应该始终显示 http://ipaddress:8080/app 而不是 http://ipaddress:8080/app/success.jsp 或 http://ipaddress:8080/app/failed.jsp
这是表格
<form class="form-signin" action="valid" method="post">
<h2 class="form-signin-heading">Please sign in</h2>
<input type="text" name ="mobile" class="form-control" placeholder="Mobile Number" autofocus>
<input type="password" name="password" class="form-control" placeholder="Password">
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
<input type="button" value="Register" href="#" id="create-user" class="btn btn-lg btn-primary btn-block"/>
</form>
这是来自 web.xml 文件的 servlet 映射
<display-name>
jsplab03Web</display-name>
<servlet>
<description>
</description>
<display-name>
auth</display-name>
<servlet-name>auth</servlet-name>
<servlet-class>
validation</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>auth</servlet-name>
<url-pattern>/valid</url-pattern>
</servlet-mapping>
请告诉我该怎么做
【问题讨论】:
-
您能发布您的表单、servlet 映射和任何使用 RequesfDispatcher 的代码吗?
-
@SotiriosDelimanolis 我已经更新了我的帖子,请看一下
-
发布
validationservlet。您是否正在执行重定向? -
@SotiriosDelimanolis 是的,我正在使用
response.sendRedirect();