MVC(JSP+JavaBean+Servlet),用户登录验证开始
2012-04-15 13:16
741 查看
刚学Java,听朋友说有的公司有这样一个面试题,为了提高自己的能力,结合http://www.xin126.cn/show.asp?id=2504上的例子,开始动手写出一个较为完整的登陆,并会列出基本相关问题和解决办法
做出这个小例子后,将尝试继续深入,做出一个类似当当网的网上购书系统
第一步、新建login.html,代码如下:
<form method="post" action="login.do">
用户名:
<input type="text" name="usuer">
密 码:
<input type="password" name="password">
<input type="submit" value="提交">
</form>
第二步、新建了一个成功页面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" import="java.sql.*"%>
<html>
<head>
<title>成功跳转</title>
</head>
<body>
<%
String message=new String ( request.getParameter("message").getBytes("ISO8859-1"),"GBK" ); %>
<%=message %>
</body>
</html>
第三步、新建一个myServlet包,并建立LoginValidate.java是一个Servlet,所以必须继承HttpServlet:,代码如下:
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);
}
}
第四步、在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;
}
}
做出这个小例子后,将尝试继续深入,做出一个类似当当网的网上购书系统
第一步、新建login.html,代码如下:
<form method="post" action="login.do">
用户名:
<input type="text" name="usuer">
密 码:
<input type="password" name="password">
<input type="submit" value="提交">
</form>
第二步、新建了一个成功页面,代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" import="java.sql.*"%>
<html>
<head>
<title>成功跳转</title>
</head>
<body>
<%
String message=new String ( request.getParameter("message").getBytes("ISO8859-1"),"GBK" ); %>
<%=message %>
</body>
</html>
第三步、新建一个myServlet包,并建立LoginValidate.java是一个Servlet,所以必须继承HttpServlet:,代码如下:
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);
}
}
第四步、在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;
}
}
相关文章推荐
- 基于MVC 用户登录的实现(JavaBean + Servlet + JSP)
- 基于JSP + servlet + javabean的MVC简单验证登录实例
- jsp+servlet+javaBean+mysql (MVC)模拟用户登录
- MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
- jsp+servlet+javaBean+mysql (MVC)模拟用户登录
- 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/
- JavaWeb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- Java Web学习(30): 使用JSP+Servlet+JavaBean实现用户登录
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录(一)
- Servlet +JSP+Javabean 实现用户登录注册
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
- J2EE初级学习项目——JSP+Servlet+JavaBean开发模式+Filter+(Listener)+Jdbc的用户登录注册系统
- JSP+Servlet+JavaBean写用户登录注册
- 基于MVC思想的JSP+Servlet+JavaBean的登录模块
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
- 对基于Servlet+JSP+JavaBean开发模式的用户登录注册的升级
- JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- JSP作业4 - 使用JSP+JavaBean+Servlet实现用户登录注册页面
- 服务器搭建:servlet+dao+javabean+jsp实现简单的用户登录