import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author xl
*
*/
public class IdentityServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
// TODO Auto-generated method stub
String username = "";
String password = "";
String type = "";
String code = "";
System.out.println("123");
// 定义一个验证码数组
String[] source = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L",
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z","a","b","c", "d", "e", "f", "g", "h", "i", "j", "k", "l",
"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x",
"y", "z" };
type = new String(req.getParameter("Type").getBytes("ISO-8859-1"),
"UTF-8");
username = new String(req.getParameter("UserName").getBytes(
"ISO-8859-1"), "UTF-8");
password = new String(req.getParameter("Password").getBytes(
"ISO-8859-1"), "UTF-8");
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection C = DriverManager
.getConnection("jdbc:mysql://localhost/identity?user=root&password=123&useUnicode=true&characterEncoding=UTF-8");
Statement state = C.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
if (type.equals("Register"))
{
// 创建指针可以自由移动的结果集
Statement statement = C.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet resultSet = statement
.executeQuery("select * from identity_tb where username="
+ username+";");
int resultCount = 0;
// 用如下方法获取结果集的行数其中resultSet.last()就是将指针移动到结果集的最后一条记录;
// 然后用resultSet.getRow()获取指针当前所在的行号(从1开始)
resultSet.last();
resultCount = resultSet.getRow();
if (resultCount > 0)
{
out.print("failed");
} else
{
String sql = "insert into identity_tb (username,password)values(?,?);";
PreparedStatement pstmt = C.prepareStatement(sql);// 解决插入异常问题
pstmt.setString(1, username);
pstmt.setString(2, password);
pstmt.executeUpdate();
out.print("success");
}
} else if (type.equals("Login"))
{
// 创建指针可以自由移动的结果集
Statement statement = C.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet resultSet = statement
.executeQuery("select * from identity_tb where username="
+ username
+ " and"
+ " password="
+ password +";");
int resultCount = 0;
// 用如下方法获取结果集的行数其中resultSet.last()就是将指针移动到结果集的最后一条记录;
// 然后用resultSet.getRow()获取指针当前所在的行号(从1开始)
resultSet.last();
resultCount = resultSet.getRow();
if (resultCount > 0)
{
out.print("success");
} else
{
out.print("failed");
}
} else if (type.equals("Picture"))
{
Random rd = new Random();
for (int i = 0; i < 6; i++)
{
code += source[rd.nextInt(source.length)];
}
out.print(code);
}
} catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} catch (SQLException e)
{
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
super.doPost(req, resp);
}
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException
{
super.service(arg0, arg1);
}
@Override
public void init() throws ServletException
{
super.init();
}
}
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author xl
*
*/
public class IdentityServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
// TODO Auto-generated method stub
String username = "";
String password = "";
String type = "";
String code = "";
System.out.println("123");
// 定义一个验证码数组
String[] source = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L",
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z","a","b","c", "d", "e", "f", "g", "h", "i", "j", "k", "l",
"m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x",
"y", "z" };
type = new String(req.getParameter("Type").getBytes("ISO-8859-1"),
"UTF-8");
username = new String(req.getParameter("UserName").getBytes(
"ISO-8859-1"), "UTF-8");
password = new String(req.getParameter("Password").getBytes(
"ISO-8859-1"), "UTF-8");
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Connection C = DriverManager
.getConnection("jdbc:mysql://localhost/identity?user=root&password=123&useUnicode=true&characterEncoding=UTF-8");
Statement state = C.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
if (type.equals("Register"))
{
// 创建指针可以自由移动的结果集
Statement statement = C.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet resultSet = statement
.executeQuery("select * from identity_tb where username="
+ username+";");
int resultCount = 0;
// 用如下方法获取结果集的行数其中resultSet.last()就是将指针移动到结果集的最后一条记录;
// 然后用resultSet.getRow()获取指针当前所在的行号(从1开始)
resultSet.last();
resultCount = resultSet.getRow();
if (resultCount > 0)
{
out.print("failed");
} else
{
String sql = "insert into identity_tb (username,password)values(?,?);";
PreparedStatement pstmt = C.prepareStatement(sql);// 解决插入异常问题
pstmt.setString(1, username);
pstmt.setString(2, password);
pstmt.executeUpdate();
out.print("success");
}
} else if (type.equals("Login"))
{
// 创建指针可以自由移动的结果集
Statement statement = C.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet resultSet = statement
.executeQuery("select * from identity_tb where username="
+ username
+ " and"
+ " password="
+ password +";");
int resultCount = 0;
// 用如下方法获取结果集的行数其中resultSet.last()就是将指针移动到结果集的最后一条记录;
// 然后用resultSet.getRow()获取指针当前所在的行号(从1开始)
resultSet.last();
resultCount = resultSet.getRow();
if (resultCount > 0)
{
out.print("success");
} else
{
out.print("failed");
}
} else if (type.equals("Picture"))
{
Random rd = new Random();
for (int i = 0; i < 6; i++)
{
code += source[rd.nextInt(source.length)];
}
out.print(code);
}
} catch (InstantiationException e)
{
e.printStackTrace();
} catch (IllegalAccessException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} catch (SQLException e)
{
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
super.doPost(req, resp);
}
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException
{
super.service(arg0, arg1);
}
@Override
public void init() throws ServletException
{
super.init();
}
}