MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证

本文介绍了一个简单的MVC模式应用案例,通过JSP页面接收用户登录信息,JavaBean处理数据库操作,Servlet进行业务逻辑处理并返回结果。
MVC(JSP+JavaBean+Servlet)实例功能:


客户在登陆页面Login.html输入用户名和密码,提交表单,由Servlet(LoginValidate.java)调用JavaBean(LoginDBO.java)验证用户名和密码,最后调用视图returnMessage.jsp显示,如果成功显示成功信息,不成功显示失败信息。 

MVC(JSP+JavaBean+Servlet)实例开发步骤:

1、 创建数据库(MySQL):mvc_user
1、创建表,表名为user_info。表结构如下:



2、向user_info表中增加一条数据,如下:

2、 使用MyEclipse:创建一个web project。



输入工程名:MyMVC,其他默认。

点击Finish。

3、引入一个MySql数据库的连接驱动包:



点击ok,完成引入包的动作。

4、在WebRoot文件夹中新建两个页面:login.html和returnMessage.jsp。

login.html页面代码:

<html>
<head> 
<title>登陆页面——中国 网页设计</title>
</head>

<body> 
<form method="post" action="login.do">
用户名:
<input type="text" name="username"/>
密码:
<input type="password" name="password"/>
<input type="Submit" value="提交"/>
</form> 
</body>
</html>

returnMessage.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" import="java.sql.*"%>
<html>
<head> 
<title>MVC(JSP+JavaBean+Servlet)入门实例--中国 网页设计</title>
</head>

<body>

<% 
String message=new String ( request.getParameter("message").getBytes("ISO8859-1"),"GBK" ); %>
<%=message %>
</body>
</html>

5、 在src文件夹中新建一个java包,名为myServlet


点击Finish完成创建。
3、 在myServlet包中新建两个Java文件:LoginValidate.java和LoginDBO.java
LoginValidate.java是一个Servlet,所以必须继承HttpServlet:


重写父类的doGet()和doPost()方法。


选择doGet()和doPost()方法,点击ok。

LoginValidate.java代码如下:

package myServlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginValidate extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name=request.getParameter("username");
String password=request.getParameter("password");
LoginDBO loginDBO=new LoginDBO();
String message =loginDBO.login(name, password);
String url="returnMessage.jsp?message="+message;
url=new String(url.getBytes("GBK"),"ISO8859_1"); 
response.sendRedirect(url); 
}

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

this.doGet(request, response);
}

}

4、 同样在myServlet包中新建一个LoginDBO.java。用来进行对数据库的操作.代码如下:

package myServlet;
import java.sql.*;

public class LoginDBO {
Connection conn;
Statement stmt;
public LoginDBO(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/mvc_user","root","123");
stmt=conn.createStatement();

}catch(Exception e)
{

e.printStackTrace();
}
}
public String login(String name, String password){
String message="123";
try{
String sql1="select count(0) from user_info where user_name='"+name+"'";
ResultSet rs1=stmt.executeQuery(sql1);
if(rs1.next()){
int userCount=rs1.getInt(1);
if(0==userCount){
message="不存在该用户";
return message;
}
String sql2="select count(0) from user_info where user_name='"+name+"'and password='"+password+"'";
ResultSet rs2=stmt.executeQuery(sql2);
if(rs2.next()){
int trueUserCount=rs2.getInt(1);
if(0==trueUserCount){
message="密码错误";
return message;
}
message="成功!";
}

}
}catch(Exception e)
{
e.printStackTrace();
}
return message;

}

}


5、 最后配置web.xml文件,并发布项目,启动Tomcat,即可访问页面

<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>myServlet.LoginValidate</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.do</url-pattern>
</servlet-mapping>

登陆实例(JSP+Servlet+JavaBean) 部分代码如下,下载看全部代码: <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>登陆</title> </head> <body> <center><br><br><br> <p><form action="<%=request.getContextPath ()%>/CheckServlet" method="post"> <table width="259" border="1" cellpadding="0" cellspacing="0" bordercolor="#0099FF"> <tr align="center"> <td height="20" colspan="2"><span class="style1">登陆</span></td> </tr> <tr> <td width="50" height="20">用户名</td> <td width="161" align="left"><input name="uname" type="text" id="uname" size="19"></td> </tr> <tr> <td height="20">密码</td> <td align="left"><input name="pword" type="password" id="pword" size="20"></td> </tr> <tr align="center"> <td colspan="2"><input type="submit" name="Submit" value="提交">   <input type="reset" name="Submit" value="重置"></td> </tr> </table></form></p> </center> </body> </html> 3.Servlet /**//* * CheckServlet.java *@author Java619 * Created on 2006年3月25日, 下午6:05 */ package com.ceun; import java.io.*; import java.net.*; import javax.servlet.*; import javax.servlet.http.*; import com.ceun.bean.UserBean; /** *//** * * @author ceun * @version */ public class CheckServlet extends HttpServlet ...{ /** *//** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String name=request.getParameter("uname"); String pword=request.getParameter("pword"); out.println("<br><br><br><hr><center><font color=red size=12><B>"); try...{ UserBean user=new UserBean(); if(user.check(name,pword)) out.println("登陆成功"); else out.println("登陆失败"); }catch(Exception e)...{ } out.println("</B></font></center>"); out.close(); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值