Jak nadać appletowi prawa do czytania z bazy danych!Inaczej nie zaliczę przedmiotu.

0

Mam aplet i bazę w postgressie. Podpisałem aplet cyfrowo prze netbeansa.Ale wykładowca powiedział, że da się ominąć podpis i sprawić, żeby aplet czytał z bazy.Applet uruchamiam z przeglądarki.
Proszę jeżeli ktoś wie jak to zrobić to niech mi pomoże czytałem, coś o zmianach w plikach java.policy i applet.policy ale to nic nie daje(albo ) ja nie umiem tego zrobić przy pomocy policytool.Jeżeli tego nie zrobię nie zaliczę przedmiotu, facet jest na mnie wkurzony bo nie byłem obecny na 2 pierwszych terminach.A zdałem przychodząc na 3 termin (czyli mój pierwszy).

0

java.policy i applet.policy będzie dotyczyć tylko Twojej przeglądarki, więc pisanie takiego programu jest IMO bez sensu.

0

Stary ja to wiem, tylko facet ma takie widzimisie;(

0

Ok, oto kod mojego appletu.
package applet;

import java.sql.;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.
;
import java.awt.;
import java.awt.event.
;
import javax.swing.JApplet;
import java.awt.Frame;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.lang.Object;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/<APPLET code="DataBase.html" width=800 height=600>
</APLET>
/

public class DataBase extends JApplet implements ActionListener{
public

String haslo,login,usuwanie,dod1,dod2,dod3,dod4,title;
String msg = "";
Button yes,dodaj,usun;
TextField name,zaliczenie,egzamin1,egzamin2,indeks;
StringBuffer results;
Frame f;
JPasswordField nazwisk, index;
int szer_apletu,wys_apletu;
@Override
public void init(){
setSize(150,400);
JPanel panel = new JPanel();
add(panel);
setLayout(new FlowLayout(FlowLayout.CENTER));
Label indexp = new Label("index");
Label nazwisko = new Label("haslo");
index = new JPasswordField(6);
zaliczenie = new TextField(2);
egzamin1 = new TextField(2);
indeks = new TextField(6);
//nazwisk = new JPasswordField(6);
name = new TextField(6);
yes = new Button("loguj");
dodaj = new Button("dodaj");
usun = new Button("usun");
JTextArea textArea = new JTextArea();
add(indexp);
add(index);
//add(nazwisko);
//add(nazwisk);
add(yes);
add(textArea);
//yes.addActionListener(this);

yes.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendData();
}
});

}
private URLConnection getServletConnection() throws MalformedURLException,

IOException {
URL urlServlet = new
URL("http://localhost:8084/servlet");
URLConnection connection = urlServlet.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-Type", "application/x-java-serialized-object");
return connection;
}
private void sendData() {
try {
String inputText = index.getText();
URLConnection connection = getServletConnection();
OutputStream outStream = connection.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(outStream);
oos.writeObject(inputText);
oos.flush();
oos.close();
InputStream inputStream = connection.getInputStream();
ObjectInputStream inputFromServlet = new ObjectInputStream(inputStream);
String result = (String) inputFromServlet.readObject();
inputFromServlet.close();
inputStream.close();
//outputField.setText(result);
} catch (Exception e) {
//exceptionArea.setText(e.toString());
}
}

public void actionPerformed(ActionEvent e) {
    throw new UnsupportedOperationException("Not supported yet.");
}

}

A to serwlet.

import java.io.;
import java.net.
;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.;
import javax.servlet.http.
;
import java.io.PrintWriter;
import java.sql.*;
import java.net.URL;
import java.net.URLConnection;
public class servlet extends HttpServlet
{
private Connection connection;
private String s,echo;
//public void init(ServletConfig config) throws ServletException{
// super.init(config);
// }
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("application/x-java-serialized-object");
try {
InputStream in = request.getInputStream();
ObjectInputStream inputFromApplet = new ObjectInputStream(in);
echo = (String) inputFromApplet.readObject();
OutputStream outstr = response.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(outstr);
oos.writeObject(echo);
oos.flush();
oos.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

PrintWriter out = response.getWriter();
try {
Class.forName("org.postgresql.Driver");

                    out.println("<h1>  Twoje wyniki " + request.getContextPath () + "</h1>");
		} catch (java.lang.ClassNotFoundException e) {
		System.err.println("ClassNotFoundException: " + e.getMessage());
		}
		try {
		connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/oceny", "postgres", "epsilon24");
		Statement statement = connection.createStatement();
		String query = "SELECT * FROM oceny where indeks ='"+echo+"' ";
		ResultSet rs = statement.executeQuery(query);
                   while (rs.next()) {
     out.print(rs.getObject(1).toString());
    out.print("\t");
    out.print(rs.getObject(2).toString());
    out.print("\t\t");
    out.print(rs.getObject(3).toString());
    out.print("\n");
    out.print(rs.getObject(4).toString());
    out.print("\n");
  }
             
  } catch (SQLException ex) {
		System.err.println("SQLException: " + ex.getMessage());
		}
 processRequest(request, response);
    
}

}

Co zrobić, żeby applet wywołał serwer czyli wczytała nową stronę do przeglądarki z wynikami z bazy danych.Serwlet działa ale wtedy jak wpiszę ręcznie w przeglądarce a chcę, żeby wyskakiwał po naciśnięciu przycisku loguj w applecie.:/

0

Servlet ma jakiś adres adresServletu. Wystarczy

try
{
    URL url=new URL(adresServletu);
    getAppletContext().showDocument(url);
}
....

1 użytkowników online, w tym zalogowanych: 0, gości: 1