JAVA编程:JSP中早就有了相似.Net DataSet那样的离...
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。js|会见|数据 JSP中早就有了相似.NetDataSet那样的离线数据会见了,丢弃ResultSet,拥抱Result吧!微软的.NET平台下面的数据会见有一个特性,就是数据查询的了局,能够放在内存中,以XML格局举行形貌,不必要一向与数据库坚持在线毗连,用DataSet+DataAdapter来完成!
而在JDBC中,我们一般利用javax.sql.ResultSet类来寄存放回的数据,它的流程和性命周期以下:
利用ResultSet来前往数据库查询了局Client-->Connection-->Statement-->JDBCDriver--+DatabaseClient<--Parsing<--ResultSet<--JDBCDriver--+ConnectionlifecycleResultSetlifecycle
我们能够看到,如许会临时占用数据库毗连的资本,是一个有点不爽的成绩...
实在,在JSTL中供应了别的一种机制,让我们在前往查询了局到暗示层的时分,能够做到离线利用!它就是javax.servlet.jsp.jstl.sql.Result类!
1<%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%>
2<%@pagecontentType="text/html;charset=UTF-8"%>
3<%@pageimport="java.sql.Connection"%>
4<%@pageimport="java.sql.DriverManager"%>
5<%@pageimport="java.sql.ResultSet"%>
6<%@pageimport="java.sql.SQLException"%>
7<%@pageimport="java.sql.Statement"%>
8<%@pageimport="javax.servlet.jsp.jstl.sql.Result"%>
9<%@pageimport="javax.servlet.jsp.jstl.sql.ResultSupport"%>
10<%
11//临时把这个上面的内容看做多层架构中的DAO好了,我偷懒了!
12Connectionconn=null;
13Statementstmt=null;
14ResultSetrs=null;
15StringstrDbUrl
16="jdbc:mysql://localhost/tutorial?user=tutorial&password=tutpwd";
17try{
18//入手下手与数据库作查询19Class.forName("com.mysql.jdbc.Driver").newInstance();
20conn=DriverManager.getConnection(strDbUrl);21stmt=conn.createStatement();
22StringstrSql="SELECT*FROMR_TUT_USERS";23rs=stmt.executeQuery(strSql);
24//把ResultSet转化成Result25ResultuserData=ResultSupport.toResult(rs);
26//当我们把了局放到某个Modelbean后,就能够封闭数据库毗连了.
27//为了简化,我们临时把pageContext看做ModelBean好了!
28pageContext.setAttribute("userData",userData);
29}
30catch(Exceptionex){
31//handleanyerrors
32System.out.println("SQLException:"+ex.getMessage());
33}
34finally{
35try{
36if(rs!=null){
37rs.close();
38}
39if(stmt!=null){
40stmt.close();
41}
42if(conn!=null){
43conn.close();
44}
45}
46catch(SQLExceptionex){
47System.out.println("SQLException:"+ex.getMessage());
48}
49}
50//DAO的逻辑停止
51%>
52<html>
53<head>
54<title>test</title>
55</head>
56<body>
57<!--//上面看成是暗示层吧//-->
58<c:forEachitems="${userData.rows}"var="user">
59<c:outvalue=${user.name}/>
60</c:forEach>
61</body>
62</html>
</STRONG>
用winrar打包j2ee的程序和用IDE打包应用程序是一样的。按照你的想法,你是不是也希望服务器都整合由一家公司提供呢? 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 是一种使用者不需花费很多时间学习的语言 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
页:
[1]