随着WEB技术的发展,WEB内容从一些静态的页到内容丰富的动态页。对于广大WEB开发人员来讲动态页面的生成是一个挑战。有许多的方法来试图解决这个问题,如plug-in技术及基于服务器端的APIs等方法,但存在的一个问题是这些方法是针对某个特定的web服务器,如Microsoft提供的ASP技术就只针对它的IIS及Personal web服务器。 } [page_break]用JDK编译该文件: javac helloWorld.java 在成功编译后,将生成的字节码文件HelloWorld.class放到myweb/web-inf/jsp/beans目录下; 在下面jsp文件test.jsp中调用helloWorld,test.jsp内容如下: <html> <head> <title> Jsp and java bean </title> </head> <body> <jsp:useBean id="helloBean" scope="session" class="HelloWorld" /> <% String hello = "this is a bean test"; helloBean.setHello(hello); out.println(helloBean.sayHello() + "<br>"); %> </body> </html> 将该jsp文件放到jswdk_install\myweb\目录下 重新启动web Server,在浏览器地地址中输入: http://localhost:8080/myweb/test.jsp 就可以显示执行结果; 注意到在test.jsp中 <jsp:useBean id="helloBean" scope="session" class="HelloWorld" /> 的scope = "session"表明该对象创建后可在同一会话(session)的其它页引用。如我们可以在aftertest.jsp中引用test.jsp中创建的对象,aftertest.jsp内容包含下面的代码: <% helloWorld rebean = (helloWorld)session.getValue("helloBean"); out.println("bean used in aftertest.jsp"+rebean.sayHello()); %> 要注意的是要引用的对象必须已创建,否则会出现异常。 下面看看在jsp中使用访问数据的java beans例子。我所使用的数据库是oracle8,通过SQL*Net创建的数据库连接串名为begpinter,数据库服务器运行在名为begpinterserver的机器上,下面是JspJdbc.java的内容: // You need to import the java.sql package to use JDBC import java.sql.*; import oracle.jdbc.driver.* ; public class JspJdbc { Connection conn = null; Public ResultSet rset = null; public JdbcCheckup(){ // Load the Oracle JDBC driver try{ DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); }catch(SQLException e1) { System.err.println("executeQuery: " + e1.getMessage()); } } public ResultSet executeQuery(String sql) { rset = null; try { conn = DriverManager.getConnection ("jdbc:oracle:thin:@bgpinterserver:1521:bgpinter","SCOTT", "TIGER"); Statement stmt = conn.createStatement(); rset = stmt.executeQuery(sql); }catch(SQLException e1) { System.err.println("error: " + e1.getMessage()); } return rset; } } 编译后将JspJdbc.class文件放入myweb\web-inf\jsp\beans目录下。在下面的jsp文件中调用beans,jspdb.jsp内容如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Database in Jsp</title> </head> <body> <%@ page language="java" import="java.sql.*,oracle.jdbc.driver.*" errorPage="errorpage.jsp" %> <jsp:useBean id="jspdatabase" scope="page" class="JspJdbc" /> <% ResultSet rset = jspdatabase.executeQuery("SELECT * FROM emp"); out.println("<table><tr><th>number</th><th>name</th></tr>"); while (reset.next()) { out.println("<tr><td>"+rset.getInt("eptno")+"</td>"); out.println("<td>"+rset.getString("enameeptno")+"</td></tr>"); } rest.close(); out.println("</table>"); %> </body> </html> 其中用于显示异常的errorpage.jsp内容为: <html> <body bgcolor="red"> <%@ page isErrorPage="true" %> <h1> The exception <%= exception.getMessage() %> </body> </html> 重新启动Web server使新创建的java beans生效,如果与数据服务器连接正常,则在浏览器地址中输入 http://localhost:8080/myweb/jspdb.jsp 将显示查询结果。 通过上面的介绍,相信大家对Jsp有所了解。要进一步了解Jsp技术可访问下面的站点: http://java.sun.com/products/jsp |
温馨提示:喜欢本站的话,请收藏一下本站!