Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
/*
* Created on 14.02.2005@17:41:04
*
* TODO Licence info
*/
package de.tutorials;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JTextField;
/**
* @author Administrator
*
* TODO Explain me
*/
public class SimpleMathApplet extends JApplet {
private static final String serviceUrl = "http://localhost:8088/tutorials/MathServlet";
private JTextField txtZahl1, txtZahl2, txtErgebnis;
private JLabel lblZahl1, lblZahl2, lblErgebnis, lblMethod;
private JButton btnSubmit;
private JComboBox cboMethod;
public void init() {
super.init();
Container c = getContentPane();
GridLayout gl = new GridLayout(5, 2);
c.setLayout(gl);
lblZahl1 = new JLabel("Zahl1: ");
txtZahl1 = new JTextField(10);
c.add(lblZahl1);
c.add(txtZahl1);
lblZahl2 = new JLabel("Zahl2: ");
txtZahl2 = new JTextField(10);
c.add(lblZahl2);
c.add(txtZahl2);
lblErgebnis = new JLabel("Ergebnis: ");
txtErgebnis = new JTextField(20);
c.add(lblErgebnis);
c.add(txtErgebnis);
lblMethod = new JLabel("Methode:");
cboMethod = new JComboBox(new Object[] { "POST", "GET" });
cboMethod.setEditable(false);
cboMethod.setSelectedIndex(0);
c.add(lblMethod);
c.add(cboMethod);
btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String method = (String) cboMethod.getSelectedItem();
if (method.equals("POST")) {
try {
HttpURLConnection con = (HttpURLConnection) new URL(
serviceUrl).openConnection();
con.setDoOutput(true);
con.setRequestMethod("POST");
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(con.getOutputStream()));
StringBuffer data = new StringBuffer("zahl1=");
data.append(txtZahl1.getText());
data.append('&');
data.append("zahl2=");
data.append(txtZahl2.getText());
bw.write(data.toString());
bw.flush();
bw.close();
con.disconnect();
BufferedReader br = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String ergebnis = br.readLine();
txtErgebnis.setText(ergebnis);
br.close();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
} else if (method.equals("GET")) {
try {
StringBuffer url = new StringBuffer(serviceUrl);
url.append('?');
url.append("zahl1=");
url.append(txtZahl1.getText());
url.append('&');
url.append("zahl2=");
url.append(txtZahl2.getText());
HttpURLConnection con = (HttpURLConnection) new URL(url
.toString()).openConnection();
con.disconnect();
BufferedReader br = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String ergebnis = br.readLine();
txtErgebnis.setText(ergebnis);
br.close();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}
}
});
c.add(btnSubmit);
}
}
/*
* ASW Berufsakademie
*
* Created on 14.02.2005 / 17:43:03
*
*/
package de.tutorials.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Administrator
*
* TODO Explain what I do
* @web.servlet-mapping url-pattern="/MathServlet"
* @web.servlet description="A simple Math Servlet"
* display-name="MathServlet"
* name="MathServlet"
*/
public class MathServlet extends HttpServlet {
/* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
processRequest(req, resp);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
processRequest(req, resp);
}
private void processRequest(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String z1 = req.getParameter("zahl1");
String z2 = req.getParameter("zahl2");
if (z1 != null && !z1.equals("") && z2 != null && !z2.equals("")) {
int i = Integer.parseInt(z1);
int j = Integer.parseInt(z2);
resp.getWriter().println(String.valueOf(i + j));
}
}
}
/*
* ASW Berufsakademie
*
* Created on 14.02.2005 / 17:43:03
*
*/
package de.tutorials.servlet;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.math.BigInteger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Administrator
*
* TODO Explain what I do
* @web.servlet-mapping url-pattern="/MathServlet"
* @web.servlet description="A simple Math Servlet"
* display-name="MathServlet"
* name="MathServlet"
*/
public class MathServlet extends HttpServlet {
/* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
processRequest(req, resp);
}
/* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
processRequest(req, resp);
}
private void processRequest(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(
req.getInputStream()));
try {
BigInteger bi1 = (BigInteger) ois.readObject();
BigInteger bi2 = (BigInteger) ois.readObject();
BigInteger biErg = bi1.add(bi2);
ObjectOutputStream oos = new ObjectOutputStream(
new BufferedOutputStream(resp.getOutputStream()));
oos.writeObject(biErg);
oos.flush();
oos.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/*
* Created on 14.02.2005@17:41:04
*
* TODO Licence info
*/
package de.tutorials;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.math.BigInteger;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JTextField;
/**
* @author Administrator
*
* TODO Explain me
*/
public class SimpleMathApplet extends JApplet {
private static final String SERVICE_URL = "http://localhost:8088/tutorials/MathServlet";
private JTextField txtZahl1, txtZahl2, txtErgebnis;
private JLabel lblZahl1, lblZahl2, lblErgebnis, lblMethod;
private JButton btnSubmit;
private JComboBox cboMethod;
public void init() {
super.init();
Container c = getContentPane();
GridLayout gl = new GridLayout(5, 2);
c.setLayout(gl);
lblZahl1 = new JLabel("Zahl1: ");
txtZahl1 = new JTextField(10);
c.add(lblZahl1);
c.add(txtZahl1);
lblZahl2 = new JLabel("Zahl2: ");
txtZahl2 = new JTextField(10);
c.add(lblZahl2);
c.add(txtZahl2);
lblErgebnis = new JLabel("Ergebnis: ");
txtErgebnis = new JTextField(20);
c.add(lblErgebnis);
c.add(txtErgebnis);
lblMethod = new JLabel("Methode:");
cboMethod = new JComboBox(new Object[] { "POST", "GET" });
cboMethod.setEditable(false);
cboMethod.setSelectedIndex(0);
c.add(lblMethod);
c.add(cboMethod);
btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
URLConnection con = new URL(SERVICE_URL).openConnection();
con.setDoInput(true);
con.setDoOutput(true);
ObjectOutputStream oos = new ObjectOutputStream(
new BufferedOutputStream(con.getOutputStream()));
BigInteger bi1 = new BigInteger(String.valueOf(txtZahl1
.getText()));
BigInteger bi2 = new BigInteger(String.valueOf(txtZahl2
.getText()));
oos.writeObject(bi1);
oos.writeObject(bi2);
oos.flush();
oos.close();
ObjectInputStream ois = new ObjectInputStream(
new BufferedInputStream(con.getInputStream()));
BigInteger biErg = (BigInteger) ois.readObject();
ois.close();
txtErgebnis.setText(biErg.toString());
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
}
});
c.add(btnSubmit);
}
}
java.io.IOException:Server returned HTTP response code: 500 for URL: http://localhost:8080/write/write
package applet1;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.io.*;
import java.net.*;
public class write extends Applet {
TextArea tA1 = new TextArea();
TextField url = new TextField();
Button button1 = new Button();
Label ergebnis = new Label();
String writePath;
public void start()
{
writePath= ""+ getDocumentBase();
writePath=writePath.substring(0,writePath.length()-10)+"write";
url.setText(writePath);
}
public write() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
tA1.setText("Kommentar:");
tA1.setVisible(true);
tA1.setBounds(new Rectangle(18, 76, 360, 213));
this.setLayout(null);
url.setText("URL");
url.setBounds(new Rectangle(16, 7, 365, 31));
button1.setLabel("senden");
button1.setBounds(new Rectangle(13, 40, 84, 25));
button1.addActionListener(new write_button1_actionAdapter(this));
ergebnis.setText("Ergebnis");
ergebnis.setBounds(new Rectangle(132, 41, 252, 26));
this.add(tA1, null);
this.add(url, null);
this.add(button1, null);
this.add(ergebnis, null);
}
void button1_actionPerformed(ActionEvent e) {
try
{
URLConnection con = new URL(writePath).openConnection();
con.setDoInput(true);
con.setDoOutput(true);
ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(con.getOutputStream()));
oos.writeObject("hallo ");
oos.writeObject("welt");
oos.flush();
oos.close();
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(con.getInputStream()));
String s=""+ois.readObject();
ois.close();
tA1.append("\n"+s);
}
catch(MalformedURLException e1){tA1.append("\n MalformedURLException:"+e1);}
catch(IOException e1){tA1.append("\n IOException:"+e1);}
catch(ClassNotFoundException e1){tA1.append("\n ClassNotFoundException:"+e1);}
}
}
class write_button1_actionAdapter implements java.awt.event.ActionListener {
write adaptee;
write_button1_actionAdapter(write adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.button1_actionPerformed(e);
}
}
package write;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class write extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>write</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
out.println("<p>The servlet has received a " + request.getMethod() + ". This is the reply.</p>");
out.println("</body></html>");
try
{
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(
request.getInputStream()));
String s1 = "" + ois.readObject();
String s2 = ""+ ois.readObject();
ois.close();
ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(response.getOutputStream()));
oos.writeObject(s1+s2);
oos.flush();
oos.close();
}catch(ClassNotFoundException e){}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
//Clean up resources
public void destroy() {
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>write</display-name>
<servlet>
<servlet-name>write</servlet-name>
<servlet-class>write.write</servlet-class>
</servlet>
<servlet>
<servlet-name>debugjsp</servlet-name>
<description>Added to compile JSPs with debug info</description>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>classdebuginfo</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>write</servlet-name>
<url-pattern>/write</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>debugjsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
</web-app>