Attentions:
(1)使用Javabean时,JSP经常出现找不到JavaBean的错误提示,有一种错误的可能是javabean的应用路径有问题。这边我测试几下发现,好像JavaBean的对象一定要有包名,在jsp引用是要将包名带上。
(2)文件所对应的目录如下
Tomcat下的webapps/你的工程名/
------------login.jsp success.jsp fail.jsp
-----------/WEB-INF/classes/
-----------------------CheckAccount.class(CheckAccount.java)
-----com/
-----AccountBean.class(AccountBean.java)
下面是一个简单登陆的JSP + Servlet + JavaBean的案例
JSP有三个页面:
login.jsp
<html>
<body>
<form action="login">
username:<input type="text" name="username"><br>
password:<input type="password" name="pwd"><br>
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>
success.jsp
<%@ page language="java" contentType="text/html;charset=utf-8" %>
<%@ page import="com.*" %>
<html>
<body>
<%
AccountBean account = (AccountBean)session.getAttribute("account");
%>
username:<%=account.getUsername()%>
password:<%=account.getPassword()%>
</body>
</html>
fail.jsp
<html>
<body>
login Failed!
</body>
</html>
CheckAccount.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.*;
public class CheckAccount extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
HttpSession session = req.getSession();
AccountBean account = new AccountBean();
String username = req.getParameter("username");
String pwd = req.getParameter("pwd");
account.setPassword(pwd);
account.setUsername(username);
if (username != null && username.trim().equals("1") && pwd != null && pwd.trim().equals("1")) {
System.out.println("success");
session.setAttribute("account", account);
String login_suc = "success.jsp";
resp.sendRedirect(login_suc);
return;
}
String login_fail = "fail.jsp";
resp.sendRedirect(login_fail);
return;
}
}
AccountBean.java
package com;
public class AccountBean {
private String username = "";
private String password = "";
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}