q跪求大神看Bug在哪里
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
? ? ? ?try {
? ? ?//設(shè)置字符編碼
? ? ?req.setCharacterEncoding("UTF-8");
? ? ?//接收頁面的值
? ? ? ? String command =req.getParameter("command");
? ? ? ? String description =req.getParameter("description");?
? ? ? ? //向頁面?zhèn)髦?/p>
? ? ? ? req.setAttribute("command", command);
? ? ? ? req.setAttribute("description", description);
? ? //加載驅(qū)動。連接數(shù)據(jù)庫?
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/message","root","123123");
//操作數(shù)據(jù)庫并聲明,用where1=1進行拼裝sql語言
StringBuilder sql =new StringBuilder( "select ID ,COMMAND,DESCRIPTION,CONTENT from MESSAGE where 1=1");
//定義一個集合來暫緩拼接,先拼接好才用到聲明里
List <String> paramList=new ArrayList<String>();
//判斷一個接收的值是不是為空,不為空才拼接
if(command != null && !"".equals(command.trim())) {
sql.append(" and COMMAND=?");
paramList.add(command);
}
if(description != null && !"".equals(description.trim())) {
sql.append(" and DESCRIPTION like '%' ? '%'");
paramList.add(description);
}
//進行聲明
PreparedStatement statement= conn.prepareStatement(sql.toString());
//將拼接好后的sql語言放到集合中
for(int i = 0; i < paramList.size(); i++) {
statement.setString(i + 1, paramList.get(i));
}
//查詢數(shù)據(jù)庫
ResultSet rs = statement.executeQuery();
//查詢結(jié)果放在一個集合中
List<Message> messageList = new ArrayList<Message>();
while(rs.next()) {
System.out.println(messageList);
? Message message = new Message();
messageList.add(message);
message.setId(rs.getInt("ID"));;
message.setCommand(rs.getString("COMMAND"));
message.setDescription(rs.getString("DESCRIPTION"));
message.setContent(rs.getString("CONTENT"));
}
//向頁面?zhèn)髦?/p>
req.setAttribute("messageList",messageList);
2016-06-26
最后沒跳轉(zhuǎn)頁面,req.getDispatcher("xxxxx").forword(req,resp);