首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP forward 轉發失效:拼寫錯誤導致跳轉失敗

     編輯:程式設計綜合問答

問題現象

在 dologin.jsp 中使用 <jsp:forward> 跳轉到 success.jsp,但輸入正確用戶名密碼後頁面不跳轉,停留在原頁或報錯。

代碼排查

<!-- 錯誤寫法 -->
<jsp:forword page="success.jsp" />  <!-- 拼寫錯誤:forword -->

<!-- 正確寫法 -->
<jsp:forward page="success.jsp" />  <!-- 正確:forward -->

第二個隱患:表單值未加引號

<input type="text" name="username" value=<%=name%> />  <!-- 缺引號,含空格時截斷 -->
<input type="text" name="username" value="<%=name%>" />  <!-- 正確 -->

最佳實踐建議

  • 使用 IDE(IntelliJ IDEA、Eclipse)自動完成標簽,避免拼寫錯誤。
  • JSP 中輸出動態屬性值務必加雙引號:value="<%=var%>"。
  • 登錄驗證邏輯建議移至 Servlet/Controller,JSP 僅負責展示,符合 MVC 分層。

正確流程示例


// LoginServlet.doPost()
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
if (isValid(name, pwd)) {
    request.getSession().setAttribute("user", name);
    request.getRequestDispatcher("/success.jsp").forward(request, response); // 服務端轉發
} else {
    request.setAttribute("error", "用戶名或密碼錯誤");
    request.getRequestDispatcher("/login.jsp").forward(request, response);
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved