數據庫配置
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns=" xmlns:xsi=" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
<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








































































































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, "數據庫連接錯誤!");
}
}
}