67,516
社区成员
发帖
与我相关
我的任务
分享
package com.MSG2.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class QueryMessageServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
private static final long serialVersionUID = 6370397999953861485L;
private List<Map<String,Object>> query(String serial,Connection conn) throws SQLException {
if(conn != null){
conn.close();
}
String URL = "jdbc:mysql://localhost:3306/test3?useUnicode=true&characterEncoding=utf-8";
String USER = "root";
String PWD = "123456";
conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PWD);
String sql1 = "SELECT Message,number,messa,user,Raply FROM reply WHERE Message=?";
PreparedStatement pst = conn.prepareStatement(sql1);
pst.setString(1, serial);
ResultSet rs = pst.executeQuery();
if (rs != null){
List<Map<String,Object>> list1 = new ArrayList<Map<String,Object>>();
while (rs.next()) {
Map<String, Object> map1 = new HashMap<String,Object>();
String Message = rs.getString("Message");
map1.put("Message",Message);
map1.put("number",rs.getString("number"));
map1.put("messa",rs.getString("messa"));
map1.put("user",rs.getString("user"));
map1.put("Raply",rs.getString("Raply"));
List<Map<String,Object>> l = query(Message, conn);
map1.put("replys", l);
list1.add(map1);
}
return list1;
}
} catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return null;
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String URL = "jdbc:mysql://localhost:3306/test3?useUnicode=true&characterEncoding=utf-8";
String USER = "root";
String PWD = "123456";
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(URL, USER, PWD);
String sql = "SELECT serial,username,content FROM message";
PreparedStatement pre = conn.prepareStatement(sql);
ResultSet re = pre.executeQuery();
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
if (re != null) {
while (re.next()) {
Map<String, Object> map = new HashMap<String, Object>();
int serial1 = re.getInt("serial");
String serial = "" + serial1;
map.put("serial", serial);
map.put("username", re.getString("username"));
map.put("content", re.getString("content"));
List<Map<String,Object>> l = query(serial, conn);
map.put("replys", l);
list.add(map);
}
} else {
System.out.println("还未留言");
}
HttpSession session = req.getSession();
session.setAttribute("list",list);
resp.sendRedirect(req.getContextPath() + "/list.jsp");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}