當前位置:編程學習大全網 - 編程語言 - JSP編程:編寫壹個用戶登錄表單,查詢數據庫表,用戶存在顯示登錄成功,用戶不存在顯示錯誤用戶名或密碼。

JSP編程:編寫壹個用戶登錄表單,查詢數據庫表,用戶存在顯示登錄成功,用戶不存在顯示錯誤用戶名或密碼。

1.需要壹個jsp頁面:

//login.jsp核心代碼:

<form action="${pageContext.request.contextPath}/servlet/UserServlet" method="post">

<input type="text" name="loginname" /><input type="password" name="password"/>

<input type="submit" value="登錄"/>

</form>

2.需要壹個servlet來驗證登錄信息

//UserServlet 核心代碼

class UserServlet extends HttpServlet{

protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

process(request, response);

}

protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

process(request, response);

}

private void process(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {

PrintWriter pw = response.getWriter();

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html");

String loginname = request.getParameter("loginname");

String password = request.getParameter("password");

//創建壹個service來處理業務邏輯(包括查詢數據庫操作)

UserService service = new UserService();

boolean bool = service.validateUser(loginname,password);

if(!bool){

pw.println("用戶名或密碼錯誤");

}else{

pw.println("登錄成功");

}

}

3.需要壹個service處理業務邏輯(包括查詢數據庫操作)

//UserService 核心代碼

public class UserService{

/**

*查詢數據庫驗證用戶是否存在,返回boolean

*/

public boolean validateUser(String loginname,String password){

boolean bool = false;

Connection conn = null;

PreparedStatement ps = null;

//這裏以mysql為例

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");

String sql = "select login_name,pass_word from t_user where login_name=? and pass_word=?";

ps = conn.prepareStatement(sql);

ps.setString(0, loginname);

ps.setString(1, password);

ResultSet rs = ps.executeQuery();

if(rs.next()){

bool = true;

}

} catch (Exception e) {

e.printStackTrace();

} finally{

try {

if(conn != null){

conn.close();

conn = null;

}

if(ps != null){

ps.close();

ps = null;

}

} catch (SQLException e) {

e.printStackTrace();

}

}

return bool;

}

}

  • 上一篇:軟件設計師和網絡工程師 哪個好考
  • 下一篇:知乎上最催淚的追星寶藏溫柔文案收藏(60條)
  • copyright 2024編程學習大全網