【发布时间】:2016-10-25 06:06:45
【问题描述】:
我是 JSP 和 servlet 的新手。我已经编写了简单的 jsp 代码来在单击“注册”按钮时显示注册表单,如下所示。 signup.jsp 看起来像
<!DOCTYPE html>
<html>
<body>
<h2>Welcome </h2>
<img src="abcd.jpg" alt=" " style="width:500px;height:228px;">
<form name="main" method="get" action="login.jsp">
<input type="submit" name="ter" value="SIGN IN" >
</form>
</body>
</html>
当我运行这个 signup.jsp 时,会显示图像和“登录”按钮。当我单击此按钮时,登录页面将显示在显示 signup.jsp 的同一页面上。我如何修改 jsp 代码,以便登录详细信息将出现在新页面中,而不是在同一页面上。我的 login.jsp 看起来像
<%@ include file="index.jsp" %>
<hr/>
<h3>Login Form</h3>
<%
String profile_msg=(String)request.getAttribute("profile_msg");
if(profile_msg!=null){
out.print(profile_msg);
}
String login_msg=(String)request.getAttribute("login_msg");
if(login_msg!=null){
out.print(login_msg);
}
%>
<br/>
<form action="loginprocess.jsp" method="post">
Email:<input type="text" name="email"/><br/><br/>
Password:<input type="password" name="pass"/><br/><br/>
<input type="submit" value="login"/>"
</form>
任何人都可以建议我如何使用 JSP 编写它,因为我对 java 脚本或其他技术也完全陌生。
这就是我的 servlet 的样子:
@WebServlet("/SignInFunc")
@MultipartConfig
public class MySignInFunc extends HttpServlet {
/** * */
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
RequestDispatcher rd = request.getRequestDispatcher("/login.jsp");
rd.forward(request, response);
}
}
当我点击登录时,login.jsp 中提到的字段会显示在同一页面上。我希望它们出现在新页面上。
【问题讨论】:
-
不确定您想要什么...但首先,如果您可以使用链接转到 login.jsp,因为您根本不使用该表单。据我所知,您使用三个不同的页面(登录、登录、登录过程),所以我不确定我是否理解您的问题...
-
你可以看看这篇文章,这是一个不用 Java 编写 jsp 的好资源。 stackoverflow.com/questions/3177733/…
-
如果您“包含”另一个文件,它肯定会显示在同一页面上。删除第一行 "...include file="index.jsp" ..."
-
谢谢斯特凡。删除包含后,它按预期完美运行。非常感谢。