📄 reg.java
字号:
package guestbook;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.Date;
import java.sql.*;
import javax.sql.DataSource;
public class reg extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
private DataSource dataSource=null;
//Initialize global variables
public void init() throws ServletException {
Init init=new Init(getServletContext().getRealPath("/"));
dataSource=LinkDB.getDB();
if (dataSource==null) {
LinkDB.setDB(init.getDriverName(),init.getDBURL(),init.getDBUser(),init.getDBPassword());
dataSource=LinkDB.getDB();
}
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect("reg.jsp");
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("GB2312");
String username=request.getParameter("username");
String usernick=request.getParameter("usernick");
String usertruename=request.getParameter("usertruename");
String userpassword=request.getParameter("userpassword");
String userpasswd1=request.getParameter("userpasswd1");
String useremail=request.getParameter("useremail");
String userphone=request.getParameter("userphone");
String useraddress=request.getParameter("useraddress");
String usersex=request.getParameter("usersex");
String userlike=request.getParameter("userlike");
String userqq=request.getParameter("userqq");
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
if(username.equals("")||usernick.equals("")||usertruename.equals("")||userpassword.equals("")||userpasswd1.equals("")||useremail.equals("")){
out.println("<script>alert('请把必须填写的资料填写完整');document.location='javascript:history.go(-1);'</script>");
return;
}
if(!(Check.checkCode("^\\w{1,10}$",username)&&Check.checkCode("^\\w{4,10}$",userpassword)&&Check.checkCode("^\\w{4,10}$",userpasswd1)&&(usernick.getBytes().length<15)&&(usersex.getBytes().length<10)&&(usertruename.getBytes().length<15)&&(useremail.getBytes().length<50)&&Check.checkCode(".+\\@.+\\..+",useremail))){
out.println("<script>alert('必填资料中的格式有错误');document.location='javascript:history.go(-1);'</script>");
return;
}
if(!userpassword.equals(userpasswd1)){
out.println("<script>alert('两次密码填写不一致');document.location='javascript:history.go(-1);'</script>");
return;
}
if((!userphone.equals("")&&userphone.getBytes().length>15)||(!useraddress.equals("")&&useraddress.getBytes().length>50)||(!userlike.equals("")&&userlike.getBytes().length>50)||(!userqq.equals("")&&!Check.checkCode("^\\d{5,9}$",userqq))){
out.println("<script>alert('选填资料中的格式有错误');document.location='javascript:history.go(-1);'</script>");
return;
}
//因为'是数据库中的分界符,所以要转义'
usernick=Check.insteadCode(usernick,"'","''");
usertruename=Check.insteadCode(usertruename,"'","''");
useremail=Check.insteadCode(useremail,"'","''");
userphone=Check.insteadCode(userphone,"'","''");
usersex=Check.insteadCode(usersex,"'","''");
useraddress=Check.insteadCode(useraddress,"'","''");
userlike=Check.insteadCode(userlike,"'","''");
usernick=Check.toHTML(usernick);
usertruename=Check.toHTML(usertruename);
userphone=Check.toHTML(userphone);
usersex=Check.toHTML(usersex);
useraddress=Check.toHTML(useraddress);
userlike=Check.toHTML(userlike);
String regtime=Head.getTime();
Connection conn=null;
Statement stmt=null;
try{
conn=dataSource.getConnection();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
try{
stmt.executeUpdate("insert into userinfo values('"+username+"','"+usernick+"','"+usertruename+"','"+userpassword+"','"+useremail+"','"+userphone+"','"+useraddress+"','"+usersex+"','"+userlike+"','"+userqq+"','"+regtime+"')");
out.println("<script>alert('注册成功');document.location='index.jsp';</script>");
}
catch(SQLException e){
out.println("<script>alert('写入数据库时出错,"+username+"可能已经存在,请尝试更换用户名');document.location='javascript:history.go(-1);'</script>");
}
}
catch(SQLException e){
out.println(e);
}
finally {
try{
stmt.close();
conn.close();
LinkDB.shutdownDataSource(dataSource);
}
catch(SQLException e) {
out.println(e);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -