Article View: cn.bbs.comp.lang.java
Article #21779��̹���applet��servletͨ�ŵ����⡣��
From: nick
Date: Wed, 12 Nov 2003 14:39
Date: Wed, 12 Nov 2003 14:39
202 lines
6328 bytes
6328 bytes
�������£�
class ServletProxy {
public ServletProxy(){
}
public void setupServletConnection() {
if (servletLinkup == null) {
try {
urlLocation = new URL(location);
}
catch (MalformedURLException e) {
e.printStackTrace(System.err);
}
}
if (urlLocation == null) {
System.out.println("can't connect to host!");
}
else {
System.out.println("urlLocation connected!");
}
}
public void createServletLink() {
if (servletLinkup == null) {
try {
servletLinkup = (HttpURLConnection)
urlLocation.openConnection();
}
catch (IOException ioe) {
System.out.println("Failed to connect to servlet!!");
ioe.printStackTrace(System.err);
}
}
servletLinkup.setDoInput(true);
servletLinkup.setDoOutput(true);
servletLinkup.setUseCaches(true);
servletLinkup.setDefaultUseCaches(true);
servletLinkup.setRequestProperty(
"Content-Type","application/x-java-serialized-object");
//open Servlet Output Stream, for "sending to" servlet
try{
bufferedSOS = new BufferedOutputStream(
servletLinkup.getOutputStream());
servletOOS = new ObjectOutputStream(bufferedSOS);
}
catch(IOException ioe){
System.out.println(
"error to open outputstream to servlet!!!");
}
if (servletLinkup != null){
System.out.println("connected!");
}
//open servlet input stream, for "receiving from" servlet
try{
bufferedSIS = new BufferedInputStream(
servletLinkup.getInputStream());
servletOIS = new ObjectInputStream(bufferedSIS);
}
catch(IOException ioe){
System.out.println(
"error to open input stream to servlet!!");
ioe.printStackTrace();
}
}
public void writeToServlet(Object o){
System.out.println("writeToServlet!");
if (servletOOS != null){
try{
servletOOS.writeObject(o);
System.out.print("success!");
}
catch (IOException ioe){
System.out.print("failed!");
ioe.printStackTrace(System.err);
}
}
}
public void writeToServlet(String s){
System.out.println("write string to servlet!");
if (servletOOS != null){
try{
servletOOS.writeChars(s);
System.out.print("success!");
}
catch (IOException ioe){
System.out.print("failed!");
ioe.printStackTrace(System.err);
}
}
}
public void readFromServlet(Object o){
if (servletOIS != null){
try{
bufferedSIS.reset();
o = servletOIS.readObject();
}
catch(IOException ioe){
ioe.printStackTrace(System.err);
}
catch (ClassNotFoundException cnfe){
cnfe.printStackTrace(System.err);
}
}
}
public void readFromServlet(String s){
if (servletOIS != null) {
try {
bufferedSIS.reset();
s = servletOIS.readLine();
}
catch (IOException ioe) {
ioe.printStackTrace(System.err);
}
}
}
private String location = new String(
"http://localhost:8083/ControlServlet");
private URL urlLocation = null;
private HttpURLConnection servletLinkup = null;
private BufferedOutputStream bufferedSOS = null;
private BufferedInputStream bufferedSIS = null;
private ObjectOutputStream servletOOS = null;
private ObjectInputStream servletOIS = null;
}
public class ControlServlet extends HttpServlet{
BufferedInputStream bufferedSIS = null;
ObjectInputStream servletIS = null;
BufferedOutputStream bufferedSOS = null;
ObjectOutputStream servletOS = null;
public ControlServlet(){
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
doPost(request,response);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException{
try{
System.out.println("servlet response!");
if (servletIS == null) {
bufferedSIS = new BufferedInputStream(request.getInputStream());
servletIS = new ObjectInputStream(bufferedSIS);
}
if (servletOS == null) {
bufferedSOS =
new BufferedOutputStream(response.getOutputStream());
servletOS = new ObjectOutputStream(bufferedSOS);
}
Object o = null;
try {
bufferedSIS.reset();
o = servletIS.readObject();
}
catch (Exception e) {
e.printStackTrace(System.err);
}
String msg = "";
if (o != null) {
msg = o.toString();
}
System.out.println("success!!!");
servletOS.writeObject(o);
}
}
����һ���쳣��
java.io.EOFException
at
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165)
at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
2634)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253)
at xu.test.Test$ServletProxy.createServletLink(Test.java:256)
at xu.test.Test.main(Test.java:179)
���Ϻָ��һ����������ˣ�
���������ġ���
лл����
--
[m[1;37m�� ��Դ:���㽭��ѧ���ɰٴ�վ bbs.zju.edu.cn��[FROM: whiIe][m
Technical Details
Message-ID:
<49EkbW$AyT@bbs.zju.edu.cn>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!cyclone.bc.net!sjc70.webusenet.com!news.webusenet.com!maily.cic.tsinghua.edu.cn!news.ccie.net.cn!ZJUBBSShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII X-Google-Thread: f6cb0,850e874024ee5a19,start X-Google-Attributes: gidf6cb0,public X-Google-ArrivalTime: 2003-11-12 06:41:05 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!cyclone.bc.net!sjc70.webusenet.com!news.webusenet.com!maily.cic.tsinghua.edu.cn!news.ccie.net.cn!ZJUBBS From: whiIe.bbs@bbs.zju.edu.cn (nick) Newsgroups: cn.bbs.comp.lang.java Subject: ��̹���applet��servletͨ�ŵ����⡣�� Date: 12 Nov 2003 14:39:51 GMT Organization: �㽭��ѧ���ɰٴ� Message-ID: <49EkbW$AyT@bbs.zju.edu.cn> X-Filename: Java/M.1068647696.A