【发布时间】:2016-04-13 06:12:00
【问题描述】:
我有一个 html 登录页面,用户必须在其中输入一个号码,如果该号码已在数据库中注册,则用户将被重定向到某个站点。如果该号码不在数据库中,用户会看到一条错误消息。目前,我正在使用 java servlet、本地 mySql 数据库和 tomcat 8.0 执行此操作,并且效果很好。但是我需要通过使用 JSON 访问远程数据库来使用它,我在 mozilla firefox 上用海报插件填充了数据库,我可以看到数据库中的内容。所以它需要通过json检查HTML页面上的用户输入与数据库中的数据并授予访问权限。这是连接到我的 mysql 数据库的 java servlet。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class servlet extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
String Ticketnumber = request.getParameter("Ticketnumber");
if(Ticketnumber.length() >= 16 || Ticketnumber.length() <= 14){
response.sendRedirect("http://localhost:8080/Error.html");
}
String DB_URL="jdbc:mysql://localhost/ticketnumbers";
String USER = "root";
String PASS = "password";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
final String sql;
sql = "select Ticketnumber from users where Ticketnumber='"+ Ticketnumber +"' limit 1";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
if(rs != null && rs.next()){
response.sendRedirect("http://localhost:8080/Welcome.html");
}else{
response.sendRedirect("http://localhost:8080/Error.html");
}
stmt.close();
conn.close();
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
}
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
【问题讨论】:
-
你的问题不清楚。