i think you url isn't right. It should be http://localhost:8080/servlet/yourservlet.


David North wrote:

> Hello, Can anyone help
>
> I have a Pentium Pro with Windows NT running Apache HTTP server 1.3.9 and
> Apache JServ 1.0.
>
> Using JDK1.2 I am trying to get an Applet to access a Servlet which just
> returns some strings.
> I am using the example provided in the 'Professional Java Server
> Programming' book from wrox.
>
> Currently, my Applet can open a connection to the Servlet via an
> .openConnection() call, but when I
> use the DataOutputStream.writeBytes(), I get a 'connection refused,
> IOException'
>
> I think it is something to do with allowing certain permissions in the
> web-server, but I am not sure.
> Can anyone help
>
> The code that fails me is DBApplet.java 's executeQuery() method.
>
> Thanx
>
> David
> ---------------------------------------------------
> // DBServlet.java
> import javax.servlet.* ;
> import javax.servlet.http.* ;
>
> import java.util.* ;
> import java.sql.* ;
> import java.io.* ;
>
> public class DBServlet extends HttpServlet {
>
>         public void doGet( HttpServletRequest req, HttpServletResponse res )
>                                                                 throws 
>ServletException, IOException {
>                 PrintWriter out = res.getWriter() ;
>
>                 res.setContentType( "text/html" ) ;
>
>                 String qry = req.getParameter( "qry" ) ;
>
>                 try{
>                         Statement s = dbCon.createStatement() ;
>                         ResultSet rs = s.executeQuery( qry ) ;
>
>                         while( rs.next() ) {
>                                 for( int j = 1 ; j <= 
>rs.getMetaData().getColumnCount() ; j++ ) {
>                                         out.println( rs.getObject( j ) + "\t" ) ;
>                                 }
>                                 out.println( "\n" ) ;
>                         }
>                 } catch( SQLException e ) {
>                         System.out.println( "SQLException" ) ;
>                         System.out.println( e.toString() ) ;
>                 }
>         }
>
>         public void destroy() {
>                 try{
>                         dbCon.close() ;
>                 } catch( Exception e ) {
>                         System.out.println( "Error closing database" ) ;
>                         System.out.println( e.toString() ) ;
>                 }
>         }
>         public void init() throws ServletException {
>                 try {
>                         Class.forName( "com.inet.tds.TdsDriver" ).newInstance() ;    
>   // JDK,
> Netscape, IE
>                         String dbURL = "jdbc:inetdae:localhost:1433" ;
>                         String dbID = "guest" ;
>                         String dbPassword = "guest" ;
>                         DriverManager.setLoginTimeout( 10 );
>                         dbCon = DriverManager.getConnection( dbURL, dbID, dbPassword 
>) ;
>                         dbCon.setCatalog( "Pubs" ) ;
>                 } catch( Exception e ) {
>                         System.out.println( "Database connect failed (init)" ) ;
>                         System.out.println( e.toString() ) ;
>                 }
>         }
> }
> ---------------------------------------------------
> //DBApplet.java
> import java.awt.event.* ;
> import java.io.* ;
> import java.net.* ;
>
> public class DBApplet extends Applet implements ActionListener {
>
>         TextField tfQuery ;
>         TextField tfURL ;
>         TextArea taResults ;
>         Button btnExecute ;
>
>         public void init() {
>                 Panel p1 = new Panel() ;
>                 p1.setLayout( new FlowLayout( FlowLayout.LEFT ) ) ;
>                 p1.add( new Label( "Query String:" ) ) ;
>                 tfQuery = new TextField( "select * from authors", 50 ) ;
>                 p1.add( tfQuery ) ;
>                 btnExecute = new Button( "Execute Query" ) ;
>                 btnExecute.addActionListener( this ) ;
>                 p1.add( btnExecute ) ;
>                 add( "North", p1 ) ;
>                 taResults = new TextArea( 10, 80 ) ;
>                 add( "Center", taResults ) ;
>                 tfURL = new TextField( "http://localhost:8080/servlets/DBServlet", 
>50 ) ;
>                 add( "South", tfURL ) ;
>         }
>
>         public void executeQuery() {
>
>                 URL url = new URL( "http://localhost:8080/servlets/DBServlet" ) ;
>                 String qry = URLEncoder.encode( "qry" ) + "=" +
>                                                         URLEncoder.encode( qryString 
>) ;
>
>                 URLConnection uc = url.openConnection() ;
>                 uc.setDoOutput( true ) ;
>                 uc.setDoInput( true ) ;
>                 uc.setUseCaches( false ) ;
>                 uc.setRequestProperty( "Content-type",
>                         "application/x-www-form-urlencoded" ) ;
>
> // Problem lies here, I can create dos
>                 DataOutputStream dos = new DataOutputStream( uc.getOutputStream() ) ;
>
> //But applet creates exception trying to execute this line
>                 dos.writeBytes( qry ) ;
>
>                 dos.flush() ;
>                 dos.close() ;
>
>                 InputStreamReader in = new InputStreamReader( uc.getInputStream() ) ;
>
>                 int chr = in.read() ;
>                 while( chr != -1 ) {
>                         taResults.append( String.valueOf( ( char )chr ) ) ;
>                         chr = in.read() ;
>                 }
>                 in.close() ;
>
>                 } catch( MalformedURLException e ) {
>                         taResults.append( "MALFORMEDURL:" + e.toString() + "\n" ) ;
>                 } catch( IOException e ) {
>                         taResults.append( "IOEXCEPTION" + e.toString() + "\n" ) ;
>                 }
>         }
>
>         public void actionPerformed( ActionEvent ae ) {
>                 executeQuery() ;
>         }
> }
>
> ___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

--
BigFaceCat
E-Mail:[EMAIL PROTECTED]
ICQ:39807606

****���ڹ���˼****I am, therefore I think****

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to