|
> From: Bruce Collins
>
> I have a java program that connects to the iSeries via JDBC and
returns
> output. If I want to put that into a JSP and present it via a web
> browser what would be involved.
>
> If you have examples that would be wonderful
Bruce, the JSP Model II way to do this is to put the data from the
result set into a bean, and then expose the bean to the JSP page. The
quick and dirty way is to simply expose the result set. I posted
something on Ignite/400 a while back that compromises: it puts the
result set in a bean.
The servlet reads a file called "DATAFILE" in library "DATA", with six
fields (name, address, phone, email, department and occupation) and then
spits out a report in a JSP. It also does some timings.
I'll repost it here:
THE SERVLET:
------------
package com.pbd.datatest;
import java.io.*;
import java.sql.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
public class DataServlet extends HttpServlet implements Servlet {
public class Data
{
public Connection conn;
public Statement s;
public ResultSet rs;
public java.util.Date start;
public java.util.Date read;
public void close() throws Exception
{
rs.close();
s.close();
conn.close();
}
public long getReadTime()
{
return read.getTime() - start.getTime();
}
public long getTotalTime()
{
return new java.util.Date().getTime() - start.getTime();
}
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
Data data = new Data();
data.start = new Date();
Class.forName("com.ibm.as400.access.AS400JDBCDriver").
newInstance();
if (System.getProperty("os.name").equals("OS/400"))
data.conn = DriverManager.getConnection(
"jdbc:as400://localhost", "USER", "PWD");
else
data.conn = DriverManager.getConnection(
"jdbc:as400://host", "USER", "PWD");
data.s = data.conn.createStatement();
data.rs = data.s.executeQuery("SELECT * FROM
DATA.DATAFILE");
data.read = new Date();
HttpSession hs = req.getSession(true);
hs.setAttribute("data", data);
getServletContext().
getRequestDispatcher("/app/showdata.jsp").
forward(req, resp);
} catch (Exception e) {
e.printStackTrace();
throw new ServletException(e);
}
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
THE JSP:
--------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML>
<HEAD> <TITLE>showdata.jsp</TITLE> </HEAD> <BODY> <jsp:useBean
class="com.pbd.datatest.DataServlet.Data"
id="data" scope="session"></jsp:useBean>
<table border="0" width="100%">
<tr align="left">
<th>Name</th>
<th>Address</th>
<th>Phone</th>
<th>e-mail</th>
<th>Department</th>
<th>Occupation</th>
</tr>
<% while (data.rs.next()) { %>
<tr>
<td><%= data.rs.getString(1) %></td>
<td><%= data.rs.getString(2) %></td>
<td><%= data.rs.getString(3) %></td>
<td><%= data.rs.getString(4) %></td>
<td><%= data.rs.getString(5) %></td>
<td><%= data.rs.getString(6) %></td>
</tr>
<% }
data.close();
%>
</table>
Read time: <%= data.getReadTime() %> ms<br>
Total time: <%= data.getTotalTime() %> ms<br>
</BODY>
</HTML>
Nothing to it.
Joe
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.