随笔-0  评论-0  文章-16  trackbacks-0
jdbc:mysql://localhost:3306/test1?characterEncoding=UTF-8
数据库配置

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>RegServlet</servlet-name>
    <servlet-class>com.jht.RegServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>RegServlet</servlet-name>
    <url-pattern>/RegServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding
="UTF-8"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    
<head>
        
<title>用户注册</title>
        
<style type="text/css">
            body
{
                margin
: 0px;font-size: 12px;
            
}

            .box
{
                border
: 1px solid #D1DEB2; width: 150px; height: 20px;
            
}

            .div1
{
                background-image
: url(images/bg.jpg);
                height
: 600px;
                width
: 803px;
                padding-left
:20px;
                padding-top
:220px;
                text-align
:left;
            
}

        
</style>
        
<script type="text/javascript">
            
function reg(form){
                
if(form.username.value == ""){
                    alert(
"用户不能为空!");
                    
return false;
                }

                
if(form.password.value == ""){
                    alert(
"密码不能为空!");
                    
return false;
                }

                
if(form.repassword.value == ""){
                    alert(
"确认密码不能为空!");
                    
return false;
                }

                
if(form.password.value != form.repassword.value){
                    alert(
"两次密码输入不一致!");
                    
return false;
                }

                
if(form.question.value == ""){
                    alert(
"密码找回问题不能为空!");
                    
return false;
                }

                
if(form.answer.value == ""){
                    alert(
"密码找回答案不能为空!");
                    
return false;
                }

                
if(form.email.value == ""){
                    alert(
"电子邮箱不能为空!");
                    
return false;
                }

            }

        
</script>
    
</head>
    
<body>
        
<div align="center">
            
<div class="div1">
                
<form action="RegServlet" method="post" onsubmit="return reg(this);">
                    
<table align="center" border="0" width="500">
                        
<tr>
                            
<td align="right" width="30%">用户名:</td>
                            
<td><input type="text" name="username" class="box"></td>
                        
</tr>
                        
<tr>
                            
<td align="right">密 码:</td>
                            
<td><input type="password" name="password" class="box"></td>
                        
</tr>
                        
<tr>
                            
<td align="right">确认密码:</td>
                            
<td><input type="password" name="repassword" class="box"></td>
                        
</tr>
                        
<tr> 
                            
<td align="right">性 别:</td>
                            
<td>
                                
<input type="radio" name="sex" value="男" checked="checked">
                                
<input type="radio" name="sex" value="女">
                            
</td>
                        
</tr>
                        
<tr>
                            
<td align="right">密码找回问题:</td>
                            
<td><input type="text" name="question" class="box"></td>
                        
</tr>
                        
<tr>
                            
<td align="right">密码找回答案:</td>
                            
<td><input type="text" name="answer" class="box"></td>
                        
</tr>
                        
<tr>
                            
<td align="right">邮 箱:</td>
                            
<td><input type="text" name="email" class="box"></td>
                        
</tr>
                        
<tr>
                            
<td colspan="2" align="center" height="40">
                                
<input type="submit" value="注 册">
                                
<input type="reset" value="重 置">
                            
</td>
                        
</tr>
                    
</table>
                
</form>
            
</div>
        
</div>
    
</body>
</html>
创建sevlet


import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

//import javax.print.DocFlavor.STRING;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//import org.apache.catalina.util.URLEncoder;


/**
 * Servlet implementation class RegServlet
 */
@WebServlet("/RegServlet")
public class RegServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
 private Connection conn;
  private String charEncode = null;
 
 // 初始化方法
  public void init() throws ServletException {
   super.init();
   try {
    this.charEncode = "UTF-8"; 

    // 加载驱动
    Class.forName("com.mysql.jdbc.Driver");
    // 数据库连接url
    String url = "jdbc:mysql://localhost:3306/test1?characterEncoding=UTF-8";
    // 获取数据库连接
    conn = DriverManager.getConnection(url, "root", "root");
   } catch (Exception e) {
    e.printStackTrace();
   }
  }

  
    /**
     * Default constructor.
     */
    public RegServlet() {
        // TODO Auto-generated constructor stub
    }

 /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
 }

 /**
  * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  // 设置request与response的编码
  //System.out.println("OK");
    response.setContentType("text/html");
    //servletRequest.setCharacterEncoding(charEncode); 
          //filterChain.doFilter(servletRequest, servletResponse); 

         
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    // 获取表单中属性值
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    String sex = request.getParameter("sex");
    String question = request.getParameter("question");
    String answer = request.getParameter("answer");
    String email = request.getParameter("email");
    // 判断数据库中否连接成功
    if (conn != null) {
     try {
      // 插入注册信息的SQL语句(使用?占位符)
      String sql = "insert into tb_user(username,password,sex,question,answer,email) "
        + "values(?,?,?,?,?,?)";
      // 创建PreparedStatement对象
      PreparedStatement ps = conn.prepareStatement(sql);
                       
      // 对SQL语句中的参数动态赋值
      ps.setString(1, username );
      ps.setString(2, password);
      ps.setString(3, sex);
      ps.setString(4, question);
      ps.setString(5, answer);
      ps.setString(6, email);
      // 执行更新操作
      ps.executeUpdate();
      // 获取PrintWriter对象
      PrintWriter out = response.getWriter();
      // 输出注册结果信息
      out.print("<h1 aling='center'>");
      out.print(username + "注册成功!");
      out.print("</h1>");
      out.flush();
      out.close();
     } catch (Exception e) {
      e.printStackTrace();
     }
    } else {
     // 发送数据库连接错误提示信息
     response.sendError(500, "数据库连接错误!");
    }
 }

}


posted on 2012-07-06 12:08 jhtchina 阅读(260) 评论(0)  编辑  收藏 所属分类: servlet