我正在尝试创建一个用户可以登录或注册的社交网站。使用正确的凭据登录后,用户可以在好友列表中搜索并邀请他/她成为好友。
到目前为止,我已经制作了 2 个 jsp 文件- 1 index.jsp [2] UserRegistration.jsp [2]mySQl 具有带有 UserInfo 和 userRegistration 表的 SocialNetwork Schema。
[3] 在 src 文件夹中,我的 RegistrationServlet 是这样的:
// ********************************************************************
// JDBC driver name and database URL
final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
final String DB_URL = "jdbc:mysql://localhost:3306/SocialNetwork";
// ***********************************************************************
// Database credentials
final String USER = "root";
final String PASS = "root";
Connection conn = null;
Statement stmt = null;
try {
// Register JDBC driver
Class.forName(JDBC_DRIVER);
// connection to mySQL server and Open a connection
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
// create a Statement object ()
System.out.println("Inserting records into the table...");
stmt = conn.createStatement();
// Execute a query
String sql = "INSERT INTO SocialNetwork.userInfo"
+ "(userName, userPW)" + "VALUES('" + nUser + "','" + nPW
+ "')";
int i = stmt.executeUpdate(sql);
out.println("Connection successfull.." + i);
//Update the Db
stmt.executeUpdate(sql);
// executeQuery () method and save it on ResultSet
sql = "SELECT * FROM SocialNetwork.userInfo";
ResultSet rs = stmt.executeQuery(sql);
// check inserted rows in the Db table
while (rs.next()) {
String Db_Name = rs.getString("userName");
String passwordFromDb = rs.getString("userPW");
// rs.getString(newPassW)
out.println("<br>DbName **" + Db_Name);
out.println("->DbPass **" + passwordFromDb);
}
} catch (Exception e) {
e.printStackTrace();
}
我如何将 UserLogin servlet 连接到 UserInfo 表,以便如果在 DB 中找到并匹配用户的名称和密码,他可以看到他/她的朋友列表。
如果在 UserInfo 中找不到该用户名和密码,则应显示一条消息,提示用户必须先注册。
用户登录后,他应该会看到所有用户名和年龄的列表。稍后,用户可以从该列表中选择一个用户并邀请该用户成为他/她的朋友。