关于在servlet中resultset对象在jsp页面中使用的问题
我在servlet中调用方法的包得到的数据库表放在Resultset对象中,Stringsql="SELECTadmin_name,admin_pwdFROMadmini...
我在servlet中调用方法的包得到的数据库表放在Resultset对象中,
String sql = "SELECT admin_name,admin_pwd FROM administrator where admin_name= "+name+ " admin_pwd= " +pwd;
JDBC4ResultSet rs = (JDBC4ResultSet)stmt.executeQuery(sql);
setResult(rs);
然后再servlet中绑定
HttpSession session = request.getSession();
ServletContext application = this.getServletContext();
application.setAttribute("buserlist2", rs1);
request.getRequestDispatcher("index.jsp").forward(request, response);
然后再jsp中获得
<% JDBC4ResultSet rs = (JDBC4ResultSet)application.getAttribute("buserlist2"); %>
使用rs.getString(3),大概就是这样,请问为什么这种方法不行,有什么可以解决的方法了,没有分,不好意思。
怎样才能通过rs.getString(3)在jsp中获取值,不需要while(rs.next())去遍历,我只需要数据库表的第三个值 展开
String sql = "SELECT admin_name,admin_pwd FROM administrator where admin_name= "+name+ " admin_pwd= " +pwd;
JDBC4ResultSet rs = (JDBC4ResultSet)stmt.executeQuery(sql);
setResult(rs);
然后再servlet中绑定
HttpSession session = request.getSession();
ServletContext application = this.getServletContext();
application.setAttribute("buserlist2", rs1);
request.getRequestDispatcher("index.jsp").forward(request, response);
然后再jsp中获得
<% JDBC4ResultSet rs = (JDBC4ResultSet)application.getAttribute("buserlist2"); %>
使用rs.getString(3),大概就是这样,请问为什么这种方法不行,有什么可以解决的方法了,没有分,不好意思。
怎样才能通过rs.getString(3)在jsp中获取值,不需要while(rs.next())去遍历,我只需要数据库表的第三个值 展开
1个回答
展开全部
Jsp处于视图层,它是用来呈现数据的。所以一般不会在Jsp中操作数据库。数据库操作应该放在Service层,由控制层(这里一般指Servlet)调用Service中的方法获取结果值,然后把这个结果值放到Servlet作用域中转发给目标Jsp页面,Jsp通过el和jstl表达式获取作用域中的数据进行展现。
当然,也可以使用两层结构,把对数据库的操作放到Servlet层。就如同现在你所做的这样。但是最好是在Servlet中把数据取出来,不要在Jsp页面对数据库操作。
看你贴出来的代码大概是获取当前登录用户的登录名称和密码这两个列,而你却想获取rs.getString(3),也就是第三列的内容,而你所写的sql语句又没有第三列,所以rs.getString(3),就不可能取到值。要取哪一列的值,就要把那一列写出来。例如:String sql = "SELECT admin_name,admin_pwd,第三列名 FROM administrator where admin_name= "+name+ " admin_pwd= " +pwd;
当然,也可以使用两层结构,把对数据库的操作放到Servlet层。就如同现在你所做的这样。但是最好是在Servlet中把数据取出来,不要在Jsp页面对数据库操作。
看你贴出来的代码大概是获取当前登录用户的登录名称和密码这两个列,而你却想获取rs.getString(3),也就是第三列的内容,而你所写的sql语句又没有第三列,所以rs.getString(3),就不可能取到值。要取哪一列的值,就要把那一列写出来。例如:String sql = "SELECT admin_name,admin_pwd,第三列名 FROM administrator where admin_name= "+name+ " admin_pwd= " +pwd;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询