jsp servlet实现用户注册功能

数据库脚本:

create database user_login
go 
use user_login
go

create table tb_user(
 id int identity(1,1) primary key,
 username varchar(20) not null,
 password varchar(20) not null,
 sex varchar(4) not null,
 question varchar(20),
 answer varchar(20),
 email varchar(20)
)
set identity_insert tb_user on//可以显示插入自增字段的值
insert into tb_user(id,username,password,sex,question,answer,email) values(1,'du','123','男','1','1','duhuawei@yeah.net')
set identity_insert tb_user off

 用于用户注册功能的severlet代码:

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
/**
 * 功能:用户用户请求注册;
 * 创建时间:2012-12-29;
 */
public class RegServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    private Connection conn=null;
    public RegServlet() {
        super();
    }

	/**
	 * @see Servlet#init(ServletConfig)
	 */
	public void init(ServletConfig config) throws ServletException {
		super.init();
		try
		{
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
		    String url="jdbc:sqlserver://localhost:1433;databaseName=user_login";
		    conn=DriverManager.getConnection(url,"du","123");
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	
		
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setCharacterEncoding("gb2312");
		request.setCharacterEncoding("gb2312");
		response.setContentType("text/html;charset=gb2312");
		
		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)
		{
			String sqlstr="insert into tb_user(username,password,sex,question,answer,email) values(?,?,?,?,?,?)";
			try {
				PreparedStatement ps=conn.prepareStatement(sqlstr);
				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 out=response.getWriter();
				out.print("<h1 align='center'>"+username+"注册成功!");
				out.print("</h1>");
				out.print("用户名:"+username+"<>br/");
				out.print("密码:"+password+"<>br/");
				out.print("性别:"+sex+"<>br/");
				out.print("问题:"+question+"<>br/");
				out.print("答案:"+answer+"<>br/");
				out.print("电子邮箱:"+email+"<>br/");
				out.flush();
				out.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}		                   
		}
		else
		{
			response.sendError(500,"数据库连接出错!");
		}
	}

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

}

  web.xml配置信息:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>servletTest</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <servlet-name>RegServlet</servlet-name>
    <servlet-class>com.servlet.RegServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>RegServlet</servlet-name>
    <url-pattern>/RegServlet</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>com.util.CharacterEncodingFilter</filter-class>
    <init-param>
       <param-name>encoding</param-name>
       <param-value>gb2312</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

  过滤filter类:

package com.util;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * Servlet Filter implementation class CharacterEncodingFilter
 */
public class CharacterEncodingFilter implements Filter {

    protected String encoding=null;
    protected  FilterConfig filterConfig=null;
    public CharacterEncodingFilter() {

    }
	public void destroy() {
           this.encoding=null;
           this.filterConfig=null;
	}


	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

         if(this.encoding!=null)
         {
        	 request.setCharacterEncoding(encoding);
        	 response.setContentType("text/html;charset="+this.encoding);
         }
		chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		this.filterConfig=fConfig;
		this.encoding=filterConfig.getInitParameter("encoding");
		
	}

}

  用户注册页面:

 

 注册成功页面:

 

posted on 2012-12-30 16:55  duhuawei  阅读(579)  评论(0)    收藏  举报