javax.servlet.jsp.jstl.sql中的result的使用

在学习初级java的时候,对于数据库查询,我一直使用java.sql中的ResultSet来保存结果,在try语句中,完成对数据库的访问和对数据的操作,然后在finally中使用catch关闭rs,关闭连接。

学习到web项目时,老师告诉我们,jsp = java+html;按照MFC的思想,把实现数据控制的java分离开来,形成的类就是servlet。也就是说,servlet就是一个继承了特殊类的普通java类,和我们其他的java类没有什么不同。照说,原先的resultset也可以照常使用,但是,老师告诉我们,最好,使用javax.servlet.jsp.jstl.sql中的result。

这是为什么呢?

我们在使用数据库连接时,在使用完成后,必须要关闭资源,而在b/s模式中,对数据访问的即时性,让我们选择在何时关掉连接成为问题?连接关早了,set中内容没了;连接不关,又浪费资源。怎么办呢??这就是使用result的原因,相当于把取出的数据放到本地缓存中,而不再依靠连接。只要数据封给了result,那么连接就可以结束,后期操作,只要从result中取数据就行。

这种方式,简化操作,又节约了资源。当然,这纯属个人理解,欢迎评论,指正错误。

在 [81] 行处理 [/room/livingroom.jsp] 时发生异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: 在 [81] 行处理 [/room/livingroom.jsp] 时发生异常 78: while (rs.next()){ 79: %> 80: <tr> 81: <td><%=rs.getString("id")%></td> 82: <td><%=rs.getString("appliance_type")%></td> 83: <td><%=rs.getString("appliance_name")%></td> 84: <td> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:610) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:489) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 javax.servlet.ServletException: java.sql.SQLException: Column 'id' not found. org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:654) org.apache.jsp.room.livingroom_jsp._jspService(livingroom_jsp.java:356) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:67) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 java.sql.SQLException: Column 'id' not found. com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130) com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:98) com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:90) com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:64) com.mysql.cj.jdbc.result.ResultSetImpl
最新发布
07-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值