Avatar billede mik28 Seniormester
30. april 2006 - 11:43 Der er 15 kommentarer og
1 løsning

Placering af applet

Hej Eksperter,

Hvor skal jeg lægge en applet i tomcat og skal den mappes. Jeg kan godt lægge den i F.X /applet, men den bruger en databaseforbindelse så det slipper jeg vist ikke afsted med eller hvad
Avatar billede arne_v Ekspert
30. april 2006 - 15:47 #1
hvis database serveren kører på samme IP adresse som Tomcat, så bør det faktisk virke

men der er nogle potentielle sikkerheds problemer med modellen
Avatar billede mik28 Seniormester
30. april 2006 - 16:04 #2
Oki. Kan du fortælle mig hvorfor det her ikke virker

import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;

import util.*;

public class Frugt1 extends JApplet {
   
        public void init() {
        //Execute a job on the event-dispatching thread:
        //creating this applet's GUI.
        try {
            javax.swing.SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    createGUI();
                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't successfully complete");
        }
    }
   
    void buildConstraints(GridBagConstraints gbc, int gx, int gy,
        int gw, int gh, int wx, int wy) {

        gbc.gridx = gx;
        gbc.gridy = gy;
        gbc.gridwidth = gw;
        gbc.gridheight = gh;
        gbc.weightx = wx;
        gbc.weighty = wy;
       
       
    }
   
    private void createGUI() {
       
        // Set generelle værdier for panelet
       
        GridBagLayout gridbag = new GridBagLayout();
        GridBagConstraints constraints = new GridBagConstraints();
        JPanel pane = new JPanel();
        pane.setLayout(gridbag);
        pane.setBackground(Color.green);
        JLabel l;
        int i = 1; // Placerer værdier i gridbacklayoutet
        System.out.println(i);
       
        // Overskrift
        buildConstraints(constraints, 0, 0, 1, 1, 100, 100);
        constraints.fill = GridBagConstraints.NONE;
        constraints.anchor = GridBagConstraints.WEST;
        l = new JLabel(" Navn", JLabel.LEFT);
        gridbag.setConstraints(l, constraints);
        pane.add(l);
       
        // Overskrift
        buildConstraints(constraints, 1, 0, 1, 1, 100, 100);
        constraints.fill = GridBagConstraints.HORIZONTAL;
        l = new JLabel("Antal");
        gridbag.setConstraints(l, constraints);
        pane.add(l);
       
        Databaseforbindelsemysqlprepared d = new Databaseforbindelsemysqlprepared("com.mysql.jdbc.Driver", "jdbc:mysql://192.168.1.15/DATABASE", "USER", "PASSWORD");
       
        Vector vi = new Vector();
        // vi.addElement(user);
        StringBuffer bu = new StringBuffer();
                    bu.append("select * from varer");
                           
        ResultSet rs = d.select(bu.toString(), vi);
       
        try {
       
               
                while (rs.next()) {
               
                // Navn
                buildConstraints(constraints, 0, i, 1, 1, 100, 100);
                constraints.fill = GridBagConstraints.NONE;
                constraints.anchor = GridBagConstraints.WEST;
                l = new JLabel( rs.getString("navn"), JLabel.LEFT);
                gridbag.setConstraints(l, constraints);
                pane.add(l);
                   
                // Antal på lager
                buildConstraints(constraints, 1, i, 1, 1, 100, 100);
                constraints.fill = GridBagConstraints.HORIZONTAL;
                l = new JLabel(rs.getString("antal"));
                gridbag.setConstraints(l, constraints);
                pane.add(l);
               
                i++;
           
                }
       
        setContentPane(pane);   

       
        } catch (SQLException s) {
            //    buffer.append("<h3>SQL fejl: " + s.toString() + " "
            //    + s.getErrorCode() + " " + s.getSQLState() + "</h3>");
        }
           
        d.close();
       
        }
     
       
}
Avatar billede mik28 Seniormester
30. april 2006 - 16:05 #3
Jeg har en servlet som ligger samme sted der opretter databaseforbindelse på samme måde.
Avatar billede mik28 Seniormester
30. april 2006 - 16:06 #4
<HTML>
<HEAD>
</HEAD>
<BODY>
<CENTER>
<APPLET
    code    = "Frugt1.class"
    codebase="http://web-oasen.dk/WEB-INF/classes/"
    width    = "150"
    height    = "150"
    >
</APPLET>
</CENTER>
</BODY>
</HTML>
Avatar billede mik28 Seniormester
30. april 2006 - 16:47 #5
SQL dataforbindelse fejledejava.sql.SQLException: Unable to connect to any hosts
due to exception: java.security.AccessControlException: access denied (java.net
.SocketPermission 192.168.1.15:3306 connect,resolve)
createGUI didn't successfully complete
Avatar billede arne_v Ekspert
30. april 2006 - 17:20 #6
192.168.1.15 er en intern IP adresse

den virker sikkert på din servlet

men applet køres på client og der matcher den ikke den eksterne IP adresse
Avatar billede mik28 Seniormester
30. april 2006 - 17:23 #7
det vil jeg lige prøve at ændre
Avatar billede mik28 Seniormester
30. april 2006 - 17:32 #8
Jeg får den samme fejl bare med domænet. Jeg har oprettet brugeren i MySQL således GRANT ALL PRIVILEGES ON DB.* TO 'USER'@'%' IDENTIFIED BY 'PASSWORD'. Min router peger også på serveren
Avatar billede mik28 Seniormester
30. april 2006 - 17:35 #9
i min VHosts.conf har jeg JKMount /Test tomcat5 for hver af mine servlets, og de er så mappet i web.xml. Skal jeg ikke have noget tilsvarende for en applet.
Avatar billede mik28 Seniormester
30. april 2006 - 17:55 #10
Jeg er lidt på bar bund :-(
Avatar billede mik28 Seniormester
30. april 2006 - 20:56 #11
SQL dataforbindelse fejledejava.sql.SQLException: Unable to connect to any hosts
due to exception: java.security.AccessControlException: access denied (java.net
.SocketPermission web-oasen.dk resolve)
Avatar billede arne_v Ekspert
01. maj 2006 - 01:09 #12
appletten må mene at den selv er hentet fra en anden IP adresse end den som
den forsøger at connecte til
Avatar billede mik28 Seniormester
01. maj 2006 - 08:21 #13
Jeg compiler det godt nok på en anden maskine, men databasen ligger på den samme maskine.
Avatar billede mik28 Seniormester
01. maj 2006 - 08:23 #14
Den fejl jeg får, får jeg når jeg tester også ligger databasen på en anden IP
Avatar billede mik28 Seniormester
01. maj 2006 - 09:47 #15
Nu har jeg instaleret MySQL på den maskine jeg tester på. Nu får jeg denne her fejl


SQL dataforbindelse fejledejava.sql.SQLException: Communication link failure: ja
va.io.IOException, underlying cause: Unexpected end of input stream

** BEGIN NESTED EXCEPTION **

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1096)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:626)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
        at com.mysql.jdbc.Connection.<init>(Connection.java:491)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:346)
        at java.sql.DriverManager.getConnection(DriverManager.java:512)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at util.Databaseforbindelsemysqlprepared.<init>(Databaseforbindelsemysql
prepared.java:17)
        at Frugt.createGUI(Frugt.java:65)
        at Frugt.access$000(Frugt.java:9)
        at Frugt$1.run(Frugt.java:17)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:171)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)


** END NESTED EXCEPTION **
Avatar billede mik28 Seniormester
01. juli 2010 - 08:52 #16
123
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester