我是新手啊。下面代码eclipse没有报错,但是在页面上没有实现查询的结果,哪里错了?我通过打印的方法来查找,我认为可能出问题的地方都没有问题,只发现在lt那里出问题,根本没有东西存进去。求大神指导啊!!!
package bao;
import bao.Jixiao;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Search extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final String DBUrl="jdbc:mysql://localhost:3306/test";
public static final String DBUser="root";
public static final String DBPass="";
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF8") ;
String classt =request.getParameter("classt");
ArrayList<Jixiao> lt=new ArrayList<Jixiao>();
try
{
System.out.println("asdf ad fasdf ");
String sql1="select * from jixiao2 where classt='日常出车'";
String sql2="select * from jixiao2 where classt='出差出车'";
String sql3="select * from jixiao2 where classt='休息日出车'";
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(DBUrl,DBUser,DBPass);
Statement st=conn.createStatement();
System.out.println("12341512345");
System.out.println(classt);//这里打印的结果就是我jsp表单传过来的数据
ResultSet rs=null;
if(classt.equals("日常出车"))
{
rs=st.executeQuery(sql1);System.out.println(rs);//这里打印是有rs地址的如下 //com.mysql.jdbc.JDBC4ResultSet@2244d990
}
if(classt.equals("出差出车"))
{
rs=st.executeQuery(sql2);
}
if(classt.equals("休息日出车"))
{
rs=st.executeQuery(sql3);
}
while(rs.next())
{
Jixiao jx=new Jixiao();
jx.setId(rs.getInt(1));
jx.setDay(rs.getString(2));
jx.setClasst(rs.getString(3));
jx.setStarttingtime(rs.getString(4));
jx.setFinishtime(rs.getString(5));
jx.setOrigin(rs.getString(6));
jx.setFinish(rs.getString(7));
jx.setStartkm(rs.getInt(8));
jx.setFinishkm(rs.getInt(9));
jx.setKm(rs.getInt(10));
jx.setAllowance(rs.getInt(11));
lt.add(jx);
}
System.out.println(rs);//这里打印也是有地址的 如com.mysql.jdbc.JDBC4ResultSet@7df1bd98
request.setAttribute("lt", lt);
System.out.println(lt);//这里是空的,说明没有存进list里面 打印结果是 [ ]
request.getRequestDispatcher("Show2").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}
}
}