/**************************************************
*Author:Java619
*Time:2006-03-25
*E-Mail:ceun@163.com
*QQ:395676370
**************************************************/
登陆是我们在实际应用中经常用到的,我在这边举个简单的登陆例子,作为抛砖引玉吧!
程序结构如下:
采用JSP+Servlet+JavaBean
1.数据库结构(为简便这边采用access,实际应用中建议采用其他数据库如MySQL,MSSQL等)
==============================
uname 用户名 文本型
pword 密码 文本型
初始数据uname :ceun pword :123
==============================
2.视图(JSP)

<%...@page contentType="text/html"%>

<%...@page pageEncoding="UTF-8"%>
<html>
<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();
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

/** *//** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException ...{
processRequest(request, response);
}

/** *//** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException ...{
processRequest(request, response);
}

/** *//** Returns a short description of the servlet.
*/

public String getServletInfo() ...{
return "Short description";
}
// </editor-fold>
}

4.JavaBean

/**//*
* UserBean.java
*@author Java619
* Created on 2006年3月25日, 下午6:22
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package com.ceun.bean;
import java.sql.*;
import com.ceun.util.DbUtil;

/**//**
*
* @author ceun
*/

public class UserBean ...{

/**//** Creates a new instance of UserBean */

public UserBean() ...{
}
public boolean check(String username,String password)

throws Exception...{
Connection con= DbUtil.connectToDb();
Statement stmt=null;

try...{
String sql="SELECT * FROM loginInfo "+
" WHERE uname='"+username+"' and pword='"+password+"'";
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
if(rs.next()) return true;
}
catch(Exception ex)

...{

}finally...{

try...{
stmt.close();
con.close();

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

5.实用类(用于连接数据库)

/**//*
* DbUtil.java
*
* Created on 2006年3月25日, 下午6:20
*@author Java619
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package com.ceun.util;
import java.io.*;
import java.sql.*;


/**//**
* <strong>DbUtil</strong> is a utility class to create
* a connection to our sample database.
*/

public class DbUtil ...{
static String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
static String dbUrl="jdbc:odbc:";


public DbUtil() ...{

}

public static java.sql.Connection connectToDb(String databaseName)throws Exception

...{
Connection connection=null;
String connName = dbUrl+databaseName;
Class.forName(driverName).newInstance();
connection = DriverManager.getConnection(connName);
return connection;
}


public static java.sql.Connection connectToDb()throws Exception...{
return (connectToDb("logInfo"));
}
}
6.应用配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>CheckServlet</servlet-name>
<servlet-class>com.ceun.CheckServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckServlet</servlet-name>
<url-pattern>/CheckServlet</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
</web-app>

到这边一个简单的登陆实例就做好了,你现在可以放在服务器下测试下。