下面是一个简单的会员管理系统中注册模块
首先设计数据库
logname varchar
50
password char 50
sex char 10
age int 4
email varchar 50 null
phone varchar 50 null
message varchar 50 null
password char 50
sex char 10
age int 4
email varchar 50 null
phone varchar 50 null
message varchar 50 null
然后系统管理
在WEB-INF/classes下面建立Servlet类的包名myservlet.control,以及JavaBean的包名mybean.data;(此过程直接在Myeclipse中建立即可
index.jsp
<%
@ page contentType
=
"
text/html;charset=GB2312
"
%>
< HTML > < BODY >
< HEAD ><% @ include file = " head.txt " %></ HEAD >
< CENTER > < h1 >< Font Size = 9 color = red > 欢迎您的到来 </ font ></ h1 >
< img src = " welcome.jpg " width = 800 height = 800 ></ img >
</ CENTER ></ H1 >
</ BODY ></ HTML >
< HTML > < BODY >
< HEAD ><% @ include file = " head.txt " %></ HEAD >
< CENTER > < h1 >< Font Size = 9 color = red > 欢迎您的到来 </ font ></ h1 >
< img src = " welcome.jpg " width = 800 height = 800 ></ img >
</ CENTER ></ H1 >
</ BODY ></ HTML >
head.txt 此文件保持在Web服务目录下面
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
GBK
"
%>
< center >< font size = " 6 " > 会 员 管 理 系 统 < br ></ font ></ center >
< table width = " 500 " cellspacing = " 1 " cellpadding = " 1 " border = " 0 " align = " center " >
< tr >
< td align = " center " >& nbsp; < a href = " register.jsp " > 会员注册 </ a ></ td >
< td align = " center " >& nbsp; < a href = " login.jsp " > 会员登录 </ a ></ td >
< td align = " center " >& nbsp; < a href = " upload.jsp " > 上传照片 </ a ></ td >
< td align = " center " >& nbsp; < a href = " choiceLookType.jsp " > 浏览网页 </ a ></ td >
</ tr >
< tr >
< td align = " center " >< a href = " choiceModifyMess.jsp " >& nbsp;修改注册 </ a ></ td >
< td align = " center " >& nbsp; < a href = " modifyPassword.jsp " > 修改密码 </ a ></ td >
< td align = " center " >< a href = " helpExitLogin.jsp " >& nbsp;退出登录 </ a ></ td >
< td align = " center " >& nbsp; < a href = " index.jsp " > 返回主页 </ a ></ td ></ tr >
</ table >
< center >< font size = " 6 " > 会 员 管 理 系 统 < br ></ font ></ center >
< table width = " 500 " cellspacing = " 1 " cellpadding = " 1 " border = " 0 " align = " center " >
< tr >
< td align = " center " >& nbsp; < a href = " register.jsp " > 会员注册 </ a ></ td >
< td align = " center " >& nbsp; < a href = " login.jsp " > 会员登录 </ a ></ td >
< td align = " center " >& nbsp; < a href = " upload.jsp " > 上传照片 </ a ></ td >
< td align = " center " >& nbsp; < a href = " choiceLookType.jsp " > 浏览网页 </ a ></ td >
</ tr >
< tr >
< td align = " center " >< a href = " choiceModifyMess.jsp " >& nbsp;修改注册 </ a ></ td >
< td align = " center " >& nbsp; < a href = " modifyPassword.jsp " > 修改密码 </ a ></ td >
< td align = " center " >< a href = " helpExitLogin.jsp " >& nbsp;退出登录 </ a ></ td >
< td align = " center " >& nbsp; < a href = " index.jsp " > 返回主页 </ a ></ td ></ tr >
</ table >
配置文件管理(此文件在WEB-INF中)
<?
xml version
=
"
1.0
"
encoding
=
"
ISO-8859-1
"
?>
< web - app >
< servlet >
< servlet - name > register </ servlet - name >
< servlet - class > myservlet.control.HandleRegister </ servlet - class >
</ servlet >
< servlet - mapping >
< servlet - name > register </ servlet - name >
< url - pattern >/ helpRegister </ url - pattern >
</ servlet - mapping >
</ web - app >
< web - app >
< servlet >
< servlet - name > register </ servlet - name >
< servlet - class > myservlet.control.HandleRegister </ servlet - class >
</ servlet >
< servlet - mapping >
< servlet - name > register </ servlet - name >
< url - pattern >/ helpRegister </ url - pattern >
</ servlet - mapping >
</ web - app >
注:此文件中<servlet-name>register是Tomcat服务器创建的Servlet对象的名字(该名字必须和<servlet>标记的字标记<servlet-name>标记的内容相同;还有这里的register与下面register不同(他们是bean的名称)
Register.java
package
mybean.data;
public class Register
{ String logname = "" ,password = "" ,sex = "" ,
email = "" , phone = "" , message = "" ;
String backNews;
int age;
public void setLogname(String name)
{ logname = name;
}
public String getLogname()
{ return logname;
}
public void setAge( int n)
{ age = n;
}
public int getAge()
{ return age;
}
public void setSex(String s)
{ sex = s;
}
public String getSex()
{ return sex;
}
public void setPassword(String pw)
{ password = pw;
}
public String getPassword()
{ return password;
}
public void setEmail(String em)
{ email = em;
}
public String getEmail()
{ return email;
}
public void setPhone(String ph)
{ phone = ph;
}
public String getPhone()
{ return phone;
}
public String getMessage()
{ return message;
}
public void setMessage(String m)
{ message = m;
}
public String getBackNews()
{ return backNews;
}
public void setBackNews(String s)
{ backNews = s;
}
}
public class Register
{ String logname = "" ,password = "" ,sex = "" ,
email = "" , phone = "" , message = "" ;
String backNews;
int age;
public void setLogname(String name)
{ logname = name;
}
public String getLogname()
{ return logname;
}
public void setAge( int n)
{ age = n;
}
public int getAge()
{ return age;
}
public void setSex(String s)
{ sex = s;
}
public String getSex()
{ return sex;
}
public void setPassword(String pw)
{ password = pw;
}
public String getPassword()
{ return password;
}
public void setEmail(String em)
{ email = em;
}
public String getEmail()
{ return email;
}
public void setPhone(String ph)
{ phone = ph;
}
public String getPhone()
{ return phone;
}
public String getMessage()
{ return message;
}
public void setMessage(String m)
{ message = m;
}
public String getBackNews()
{ return backNews;
}
public void setBackNews(String s)
{ backNews = s;
}
}
register.jsp
<%
@ page contentType
=
"
text/html;charset=GB2312
"
%>
< HTML >< HEAD ><% @ include file = " head.txt " %></ HEAD >
< BODY >< Font size = 2 >
< CENTER >
< FORM action = " helpRegister " name = form >
< BR > 输入您的信息,会员名字必须由字母和数字组成,带 * 号项必须填写。
< table >
< tr >< td > 会员名称: </ td > < td >< Input type = text name = " logname " >*</ td ></ tr >
< tr >< td > 设置密码: </ td >< td >< Input type = password name = " password " >*</ td ></ tr >
< tr >< td > 性别: </ td >
< td >< Input type = radio name = " sex " checked = " o " value = " man " > 男
< Input type = radio name = " sex " value = " woman " > 女
</ td >
</ tr >
< tr >< td > 会员年龄: </ td >< td >< Input type = text name = " age " value = " 0 " ></ td ></ tr >
< tr >< td > 电子邮件: </ td >< td >< Input type = text name = " email " ></ td ></ tr >
< tr >< td > 联系电话: </ td >< td >< Input type = text name = " phone " ></ td ></ tr >
</ table >
< table >
< tr >< td > 输入您的个人简介: </ td ></ tr >
< tr >
< td >< TextArea name = " message " Rows = " 6 " Cols = " 30 " ></ TextArea ></ td >
</ tr >
< tr >< td >< Input type = submit name = " g " value = " 提交 " ></ td > </ tr >
</ table >
</ Form ></ CENTER >
</ Body ></ HTML >
< HTML >< HEAD ><% @ include file = " head.txt " %></ HEAD >
< BODY >< Font size = 2 >
< CENTER >
< FORM action = " helpRegister " name = form >
< BR > 输入您的信息,会员名字必须由字母和数字组成,带 * 号项必须填写。
< table >
< tr >< td > 会员名称: </ td > < td >< Input type = text name = " logname " >*</ td ></ tr >
< tr >< td > 设置密码: </ td >< td >< Input type = password name = " password " >*</ td ></ tr >
< tr >< td > 性别: </ td >
< td >< Input type = radio name = " sex " checked = " o " value = " man " > 男
< Input type = radio name = " sex " value = " woman " > 女
</ td >
</ tr >
< tr >< td > 会员年龄: </ td >< td >< Input type = text name = " age " value = " 0 " ></ td ></ tr >
< tr >< td > 电子邮件: </ td >< td >< Input type = text name = " email " ></ td ></ tr >
< tr >< td > 联系电话: </ td >< td >< Input type = text name = " phone " ></ td ></ tr >
</ table >
< table >
< tr >< td > 输入您的个人简介: </ td ></ tr >
< tr >
< td >< TextArea name = " message " Rows = " 6 " Cols = " 30 " ></ TextArea ></ td >
</ tr >
< tr >< td >< Input type = submit name = " g " value = " 提交 " ></ td > </ tr >
</ table >
</ Form ></ CENTER >
</ Body ></ HTML >
show.jsp
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
GBK
"
%>
<% @ page contentType = " text/html;charset=GB2312 " %>
<% @ page import = " mybean.data.Register " %>
< jsp:useBean id = " register " type = " mybean.data.Register " scope = " request " />
< HTML >< HEAD ><% @ include file = " head.txt " %></ HEAD >
< HTML >< BODY bgcolor = cyan >
< CENTER >< Font size = 4 color = blue >
< BR > < jsp:getProperty name = " register " property = " backNews " />
</ Font >
< Font size = 2 >
< table >
< tr >< td > 注册的会员名称: </ td >< td >< jsp:getProperty name = " register " property = " logname " /></ td ></ tr >
< tr >< td > 注册的性别: </ td > < td >< jsp:getProperty name = " register " property = " sex " /></ td ></ tr >
< tr >< td > 注册的会员年龄: </ td >< td >< jsp:getProperty name = " register " property = " age " /></ td ></ tr >
< tr >< td > 注册的电子邮件: </ td >< td >< jsp:getProperty name = " register " property = " email " /></ td ></ tr >
< tr >< td > 注册的联系电话: </ td >< td >< jsp:getProperty name = " register " property = " phone " /></ td ></ tr >
</ table >
< table >< tr >< td > 您输入的个人简介: </ td ></ tr >
< tr >< td >< TextArea name = " message " Rows = " 6 " Cols = " 30 " >
< jsp:getProperty name = " register " property = " message " />
</ TextArea ></ td >
</ tr >
</ table >
</ FONT >
</ CENTER ></ BODY ></ HTML >
<% @ page contentType = " text/html;charset=GB2312 " %>
<% @ page import = " mybean.data.Register " %>
< jsp:useBean id = " register " type = " mybean.data.Register " scope = " request " />
< HTML >< HEAD ><% @ include file = " head.txt " %></ HEAD >
< HTML >< BODY bgcolor = cyan >
< CENTER >< Font size = 4 color = blue >
< BR > < jsp:getProperty name = " register " property = " backNews " />
</ Font >
< Font size = 2 >
< table >
< tr >< td > 注册的会员名称: </ td >< td >< jsp:getProperty name = " register " property = " logname " /></ td ></ tr >
< tr >< td > 注册的性别: </ td > < td >< jsp:getProperty name = " register " property = " sex " /></ td ></ tr >
< tr >< td > 注册的会员年龄: </ td >< td >< jsp:getProperty name = " register " property = " age " /></ td ></ tr >
< tr >< td > 注册的电子邮件: </ td >< td >< jsp:getProperty name = " register " property = " email " /></ td ></ tr >
< tr >< td > 注册的联系电话: </ td >< td >< jsp:getProperty name = " register " property = " phone " /></ td ></ tr >
</ table >
< table >< tr >< td > 您输入的个人简介: </ td ></ tr >
< tr >< td >< TextArea name = " message " Rows = " 6 " Cols = " 30 " >
< jsp:getProperty name = " register " property = " message " />
</ TextArea ></ td >
</ tr >
</ table >
</ FONT >
</ CENTER ></ BODY ></ HTML >
HandleRegister.jsp
package
myservlet.control;
import mybean.data. * ;
import java.sql. * ;
import java.io. * ;
import javax.servlet. * ;
import javax.servlet.http. * ;
public class HandleRegister extends HttpServlet
{ public void init(ServletConfig config) throws ServletException
{
super .init(config);
try {
Class.forName( " com.mysql.jdbc.Driver " );
}
catch (Exception e){}
}
public String handleString(String s)
{
try
{
byte bb[] = s.getBytes( " iso-8859-1 " );
s = new String(bb);
}
catch (Exception ee){}
return s;
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
Connection con;
PreparedStatement sql;
Register reg = new Register();
request.setAttribute( " register " ,reg);
String logname = request.getParameter( " logname " ).trim(),
password = request.getParameter( " password " ).trim(),
sex = request.getParameter( " sex " ).trim(),
email = request.getParameter( " email " ).trim(),
phone = request.getParameter( " phone " ).trim(),
message = request.getParameter( " message " );
int age = Integer.parseInt(request.getParameter( " age " ).trim());
if (logname == null )
logname = "" ;
if (password == null )
password = "" ;
boolean isLD = true ;
for ( int i = 0 ;i < logname.length();i ++ )
{ char c = logname.charAt(i);
if ( ! ((c <= ' z ' && c >= ' a ' ) || (c <= ' Z ' && c >= ' A ' ) || (c <= ' 9 ' && c >= ' 0 ' )))
isLD = false ;
}
boolean boo = logname.length() > 0 && password.length() > 0 && isLD;
String backNews = "" ;
try {
String url = " jdbc:mysql://localhost/ComeHere " ;
con = DriverManager.getConnection(url, " root " , "" );
String insertCondition = " INSERT INTO member VALUES(?,?,?,?,?,?,?,?) " ;
sql = con.prepareStatement(insertCondition);
if (boo)
{ sql.setString( 1 ,handleString(logname));
sql.setString( 2 ,handleString(password));
sql.setString( 3 ,handleString(sex));
sql.setInt( 4 ,age);
sql.setString( 5 ,phone);
sql.setString( 6 ,email);
sql.setString( 7 ,handleString(message));
sql.setString( 8 , " public.jpg " );
int m = sql.executeUpdate();
if (m != 0 )
{ backNews = " 注册成功 " ;
reg.setBackNews(backNews);
reg.setLogname(logname);
reg.setPassword(handleString(password));
reg.setAge(age);
reg.setSex(handleString(sex));
reg.setEmail(handleString(email));
reg.setPhone(phone);
reg.setMessage(handleString(message));
}
}
else
{ backNews = " 信息填写不完整或名字中有非法字符 " ;
reg.setBackNews(backNews);
}
con.close();
}
catch (SQLException exp)
{ backNews = " 该会员名已被使用,请您更换名字 " + exp;
reg.setBackNews(backNews);
}
RequestDispatcher dispatcher = request.getRequestDispatcher( " /show.jsp " );
dispatcher.forward(request, response);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ doPost(request,response);
}
}
import mybean.data. * ;
import java.sql. * ;
import java.io. * ;
import javax.servlet. * ;
import javax.servlet.http. * ;
public class HandleRegister extends HttpServlet
{ public void init(ServletConfig config) throws ServletException
{
super .init(config);
try {
Class.forName( " com.mysql.jdbc.Driver " );
}
catch (Exception e){}
}
public String handleString(String s)
{
try
{
byte bb[] = s.getBytes( " iso-8859-1 " );
s = new String(bb);
}
catch (Exception ee){}
return s;
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
Connection con;
PreparedStatement sql;
Register reg = new Register();
request.setAttribute( " register " ,reg);
String logname = request.getParameter( " logname " ).trim(),
password = request.getParameter( " password " ).trim(),
sex = request.getParameter( " sex " ).trim(),
email = request.getParameter( " email " ).trim(),
phone = request.getParameter( " phone " ).trim(),
message = request.getParameter( " message " );
int age = Integer.parseInt(request.getParameter( " age " ).trim());
if (logname == null )
logname = "" ;
if (password == null )
password = "" ;
boolean isLD = true ;
for ( int i = 0 ;i < logname.length();i ++ )
{ char c = logname.charAt(i);
if ( ! ((c <= ' z ' && c >= ' a ' ) || (c <= ' Z ' && c >= ' A ' ) || (c <= ' 9 ' && c >= ' 0 ' )))
isLD = false ;
}
boolean boo = logname.length() > 0 && password.length() > 0 && isLD;
String backNews = "" ;
try {
String url = " jdbc:mysql://localhost/ComeHere " ;
con = DriverManager.getConnection(url, " root " , "" );
String insertCondition = " INSERT INTO member VALUES(?,?,?,?,?,?,?,?) " ;
sql = con.prepareStatement(insertCondition);
if (boo)
{ sql.setString( 1 ,handleString(logname));
sql.setString( 2 ,handleString(password));
sql.setString( 3 ,handleString(sex));
sql.setInt( 4 ,age);
sql.setString( 5 ,phone);
sql.setString( 6 ,email);
sql.setString( 7 ,handleString(message));
sql.setString( 8 , " public.jpg " );
int m = sql.executeUpdate();
if (m != 0 )
{ backNews = " 注册成功 " ;
reg.setBackNews(backNews);
reg.setLogname(logname);
reg.setPassword(handleString(password));
reg.setAge(age);
reg.setSex(handleString(sex));
reg.setEmail(handleString(email));
reg.setPhone(phone);
reg.setMessage(handleString(message));
}
}
else
{ backNews = " 信息填写不完整或名字中有非法字符 " ;
reg.setBackNews(backNews);
}
con.close();
}
catch (SQLException exp)
{ backNews = " 该会员名已被使用,请您更换名字 " + exp;
reg.setBackNews(backNews);
}
RequestDispatcher dispatcher = request.getRequestDispatcher( " /show.jsp " );
dispatcher.forward(request, response);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ doPost(request,response);
}
}
这里用的是Mysql数据库,简单用法如下
try
{Class.forName(
"
com.mysql.jdbc.Driver
"
)
}
catch (Exception e){}
Connection con;
Statement / PrepareStatement sql;
String url = " jdbc:mysql://localhost/ComeHere " ;
con = DriverManager.getConnection(url, " root " , "" );
sql = con.createStatement();
…………
}
catch (Exception e){}
Connection con;
Statement / PrepareStatement sql;
String url = " jdbc:mysql://localhost/ComeHere " ;
con = DriverManager.getConnection(url, " root " , "" );
sql = con.createStatement();
…………