`
lzycxy
  • 浏览: 3018 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

帖一个jsp文件,里面有段jdbc操作的代码,大家多提提建议

阅读更多
这是公司新来的一个毕业生写的一个jsp文件,里面的代码确实让我很失望。这段代码确实可以做一个教材了,不过是反面的。代码如下:

<%@ page import="com.*.db.util.DBConnectionPool"%>
<%@ page import="com.*.db.util.MyConnection"%>
<%@ page import="com.*.db.util.ConnectionPool"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%
request.setCharacterEncoding("UTF-8");
String text = request.getParameter("text");
System.out.println("GBN2312--->>>" + text);
System.out.println("wangjinghui" + text);
String sheetKey = request.getParameter("sheetKey");
MyConnection conn = ConnectionPool.getInstance().getConnection();
String sql = "update temp_tasklinkmain  set link_task_info = ? where sheet_id = (select id from tasksheet_template_main where sheet_id = ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1,text);
stmt.setString(2,sheetKey);
stmt.executeUpdate();
try {
	stmt.close();
} catch(Exception e) {
	stmt.close();
	conn.rollback();
	e.printStackTrace();
} finally {
	conn.close();
}
response.setCharacterEncoding("GB2312");
out.println(text);
out.flush();
%>


大家都说说这段代码里面有哪些问题,会产生什么样的后果。
分享到:
评论
9 楼 咖啡舞者 2008-11-30  
dao2006 写道
close以后连接并不是真正释放,只是重新放回到了连接池

恩,原先没看清楚。。
8 楼 jeffyan 2008-11-28  
sql语句用了预处理
7 楼 jeffyan 2008-11-28  
感觉写的还行 呵呵 至少还是有条理的  捕获不算
6 楼 jeffyan 2008-11-28  
异常要分不同的捕获
jsp 是view 成
stmt.executeupdate() 要捕获
5 楼 lzycxy 2008-11-27  
假设数据库中的link_task_info 字段定义为varchar2(100),而stmt.setString(1,text);中text为100个中文字。那stmt.executeUpdate();执行会有什么问题?
如stmt.executeUpdate();这句出现了异常,难道不用catch吗?


太佩服昔日舞曲了。
4 楼 dao2006 2008-11-03  
close以后连接并不是真正释放,只是重新放回到了连接池
3 楼 咖啡舞者 2008-10-28  
我来说几个明显的,有不对请指正。
1, ConnectionPool.getInstance().getConnection();  
这应该是你们封装的连接池,而在程序最后 获得的连接直接被Close了这会对连接池管理造成影响,我想ConnectionPool应该会相应的释放方法。
2,异常处理,乱七八糟。
3,JSP是VIEW层。
2 楼 昔日舞曲 2008-10-22  
沒看出哪里不好
1 楼 stephen830 2008-10-21  
你也不用太失望,其实我们每个人不也都是这么过来的。

相关推荐

    jdbc 源代码 jsp+mysql

    【标题】"jdbc 源代码 jsp+mysql" 是一个基于Java的Web应用程序示例,它使用JDBC(Java Database Connectivity)与MySQL数据库进行交互。这个项目可能是一个教学示例,用于教授如何在实际应用中结合JSP、Servlet和...

    JSP+JDBC+DB.rar_ jsp jdbc_jdbc_jdbc jsp_jdbc mdb jsp_jsp jdbc

    标题"JSP+JDBC+DB.rar_ jsp jdbc_jdbc_jdbc jsp_jdbc mdb jsp_jsp jdbc"表明这是一个关于如何使用JSP和JDBC来处理数据库操作的资源包,可能包含了多种不同的数据库连接方式。描述中的“Java做的采用多种方式连接各种...

    作业6 JSP JDBC操作数据库

    作业6 JDBC操作数据库 作业类型:验证性实验 实验目的:理解JDBC接口操作数据库的方法,熟练掌握数据的增删改查。 实验内容: 1. 在MySQL或其他DBS中创建一个数据库TestDB,其中创建表user,表至少3个字段(编号,...

    JSP之JDBC数据库开发

    【JSP之JDBC数据库开发】是关于使用JavaServer Pages(JSP)和Java Database Connectivity(JDBC)技术进行数据库操作的学习主题。JSP是一种基于Java的服务器端脚本语言,用于生成动态网页内容,而JDBC是Java平台中...

    Servlet+JDBC+JSP项目实战源代码

    【Servlet+JDBC+JSP项目实战源代码】是一个典型的Web开发教程,涵盖了Web应用程序的基础构建块,包括Servlet、JDBC(Java Database Connectivity)和JSP(JavaServer Pages)。这个项目实战提供了完整的源代码,旨在...

    jsp+jdbc实现的一个增删改查的操作

    在这个"jsp+jdbc实现的一个增删改查的操作"项目中,我们将探讨如何使用这两者来完成基本的数据管理任务。 首先,JSP是一种基于Java的技术,它允许开发者在HTML页面中嵌入Java代码,以生成动态内容。JSP文件在服务器...

    JSP+JDBC.rar_jdbc jsp_jdbc jsp文档_jsp 初学_jsp 文档_jsp 源码

    **JSP+JDBC技术详解** JSP(JavaServer Pages)和...总的来说,"JSP+JDBC.rar"是一个很好的学习材料,它不仅提供了实践案例,还有配套的文档说明,对于初学者来说,能够通过实际操作来巩固理论知识,提升开发技能。

    jsp 留言板 jdbc

    【标题】"jsp 留言板 jdbc"指的是一个基于JavaServer Pages(JSP)技术构建的留言板应用程序,其中使用了Java Database Connectivity(JDBC)来实现与数据库的交互。这个程序可能是教学示例,用于教授学生如何在Web...

    JSP+JDBC留言管理程序(代码+笔记)_jdbcjsp_java_

    综上所述,JSP+JDBC留言管理程序结合了Web展示和数据库操作,为用户提供了一个简单的互动平台。通过理解这些核心概念和技术,开发者可以进一步扩展此程序,例如增加用户注册、权限管理等功能,以满足更复杂的需求。

    jsp+servlet+jdbc注册登录入门项目

    数据库部分,我们有一个名为`test`的数据库,里面有一个`user`表,包含与`User`类字段对应的列。`User`类可能是Java程序中的一个实体类,用于映射数据库中的用户记录。此外,`user`表还有一个自增的`id`字段,这通常...

    jsp页面使用JDBC

    接下来,我们可以在JSP页面中创建一个`&lt;scriptlet&gt;`,即`&lt;% %&gt;`代码块,来执行SQL语句。例如,执行一个简单的SELECT查询: ```jsp Connection conn = getConnection(); if (conn != null) { Statement stmt = ...

    jsp jdbc 操作sqlite

    【标题】"jsp jdbc 操作sqlite"涉及到的IT知识点主要包括JSP(JavaServer Pages)、JDBC(Java Database Connectivity)以及SQLite数据库...对于初学者,理解这些概念并实际操作一个例子将有助于提升数据库编程的能力。

    JDBC操作数据库-JSP综合实验

    在本"JDBC操作数据库-JSP综合实验"中,我们将探讨如何利用JSP和JDBC来实现一个简单的留言板功能。 首先,我们需要了解**JSP(JavaServer Pages)**,它是一种动态网页技术,允许开发者在HTML代码中嵌入Java代码,以...

    JSP+JDBC留言管理程序(代码+笔记

    - `java`文件夹:存放Java源代码,可能包含一个`util`包,用于封装JDBC操作。 - `WEB-INF`文件夹:包含`web.xml`(Web应用配置文件),可能还有自定义的JSP标签库文件。 - `notes`文件夹:可能包含开发过程中的...

    JDBC+JSP实例

    // 假设有一个queryUsers方法返回结果集 while (rs.next()) { %&gt; &lt;td&gt;&lt;%= rs.getString("username") %&gt; &lt;td&gt;&lt;%= rs.getString("password") %&gt; } rs.close(); // 关闭结果集 conn.close(); // 关闭连接 %&gt; ...

    登陆-注册实现代码jsp+jdbc

    在本示例中,我们看到一个简单的Web应用的登录和注册功能实现,使用了Java的JSP(JavaServer Pages)和JDBC(Java Database Connectivity)技术。以下是关键知识点的详细说明: 1. **JSP**: JSP是Java的一个标准...

    jsp基础JDBC小项目

    这段代码展示了如何使用JSP接收用户输入,通过PreparedStatement执行插入操作,并显示操作结果。 总结,本项目旨在帮助开发者巩固JSP的基础知识,理解JDBC的工作原理,以及如何在实际项目中应用JDBC进行数据操作。...

    struts2+jdbc+jsp增删改查

    5. **Struts2与JSP的交互**:在Struts2中,Action执行完毕后会返回一个结果类型,该结果类型对应一个JSP页面。例如,一个名为"StudentAction"的Action可能会返回"success"结果,这将导致Struts2加载对应的success....

    JSP JDBC 学习笔记(基础)

    在学习过程中,阅读提供的"jsp 基础教程.doc", "jsp学习 笔记.doc", "JDBC 笔记.doc", "jsp 笔记二.doc"文档,将有助于你深入理解JSP和JDBC的使用方法和最佳实践。这些笔记详细阐述了相关概念、示例代码和常见问题,...

Global site tag (gtag.js) - Google Analytics