怎么用JAVA写一个用户登入程序

只需要要出来,是静态文件来的就可以了

同意楼上的说法,具体点可以这样:创建一个用户表,里边包括LoginName(登录名),UserName(用户名),Password(密码),Age(年龄),Address(地址)。然后编写Java程序(用MVC架构)模型层(M):DBConnection.java(负责连接数据库)
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;

public class DBConnection {
private static final String DRIVER_CLASS = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String DB_URL = "jdbc:odbc:text";
public DBConnection() {
}

public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(DRIVER_CLASS);
conn = DriverManager.getConnection(DB_URL);
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} catch (ClassNotFoundException ex) {
System.out.println(ex.getMessage());
}
return conn;
}
}
第2个负责数据库查询操作的类:DBUserManager.java
import edu.systop.text.model.entity.User;
import edu.systop.text.model.dao.DBConnection;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;

public class DBUserManager {
private static final String SQL_SELECT =
"SELECT LoginName,UserName,PassWord,Age,Address FROM UserInfo WHERE LoginName = ? AND PassWord = ?";
public DBUserManager() {
}

public boolean checkDB(User u) {
boolean b = false;
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;

conn = DBConnection.getConnection();

try {
psmt = conn.prepareStatement(SQL_SELECT);
psmt.setString(1, u.getLoginName());
psmt.setString(2, u.getPassWord());
rs = psmt.executeQuery();
b = rs.next();
if (rs.next()) {
b = true;
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
cleanDB(rs, psmt, conn);
}
return b;
}

public User checkBC(User u) {
Connection conn = null;
PreparedStatement psmt = null;
ResultSet rs = null;
User tmp = new User();
conn = DBConnection.getConnection();

try {
psmt = conn.prepareStatement(SQL_SELECT);
psmt.setString(1, u.getLoginName());
psmt.setString(2, u.getPassWord());
rs = psmt.executeQuery();

if (rs.next()) {
tmp.setLoginName(rs.getString(1));
tmp.setUserName(rs.getString(2));
tmp.setAge(rs.getInt(4));
tmp.setAddress(rs.getString(5));
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
cleanDB(rs, psmt, conn);
}
return tmp;
}

public void cleanDB(ResultSet rs, PreparedStatement psmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (psmt != null) {
psmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
第3个实体用户类:User.java
package edu.systop.text.model.entity;

public class User {
private String loginName;
private String userName;
private String passWord;
private int age;
private String address;
public User() {
}

public void setLoginName(String loginName) {
this.loginName = loginName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public void setPassWord(String passWord) {
this.passWord = passWord;
}

public void setAge(int age) {
this.age = age;
}

public void setAddress(String address) {
this.address = address;
}

public String getLoginName() {
return loginName;
}

public String getUserName() {
return userName;
}

public String getPassWord() {
return passWord;
}

public int getAge() {
return age;
}

public String getAddress() {
return address;
}
}
然后编写控制层(C):GetInfoServlet.java
package edu.systop.text.control;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import edu.systop.text.model.entity.User;
import edu.systop.text.model.service.UserManager;

public class GetInfoServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}

//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String loginName = request.getParameter("loginName");
String passWord = request.getParameter("passWord");

User u = new User();
u.setLoginName(loginName);
u.setPassWord(passWord);

UserManager m = new UserManager();

RequestDispatcher d;
if (m.checkUser(u)) {
User o = m.checkBC(u);
request.setAttribute("JavaBEAN",o);
d = request.getRequestDispatcher("GetInfoUser.jsp");
} else {
d = request.getRequestDispatcher("GetInfoFinale.jsp");
}
d.forward(request, response);
}

//Clean up resources
public void destroy() {
}
}
最后,创建表示层(V):包括3个Jsp(登录页面GetInfo.jsp、登录成功页面GetInfoUser.jsp、登录失败页面GetInfoFinale.jsp)
上面的就是Jsp结合Servlet用MVC架构写的用户登录程序。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-20
1.直接在jsp中写
2.结合jsp和servlet
第2个回答  2009-08-20
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<script type="text/javascript">
function checknull(){
if(form.userID.value=="" ){

alert("不能为空");
form.userID.focus();
return(false);
}
else if(document.getElementById("userPwd").value.length<1){
alert("密码不能为空");
form.userPwd.focus();
return(false);
}
else{
form.submit();
return(true);
}

}
</script>

<body>
<form action="" name="form">
<table>
<tr>
<td>
<!-- <%=(new java.util.Date()).toLocaleString()%> -->
<%out.println("yangfei"); %>登陆账号:
</td>
<td>
<input type="text" name="userID" id="userID"/>
</td>

</tr>
<tr>
<td>
登陆密码:
</td>
<td>
<input type="password" name="userPwd" id="userPwd"/>
</td>

</tr>
<tr>
<td colspan="2" align="right">
<input type="button" name="tijiao" value="提交" onClick="checknull()"/>

<input type="reset" name="chongzhi" value="重置"/>
</td>
</tr>
</table>
</form>
</body>
</html>
界面没有美化 不好看 也没有跟数据库联系起来

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网