Applet代码如下:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
public class DbApplet extends Applet implements ActionListener
{
TextField tfQuery;
TextArea taResults;
Button btnExecute;
URL chatURL;
public void init()
{
Panel pa = new Panel();
pa.setLayout(new FlowLayout(FlowLayout.LEFT));
pa.add(new Label("查询串:"));
tfQuery = new TextField("SELECT number,code,score from chengji WHERE code='3001'",50);
pa.add(tfQuery);
btnExecute = new Button("查询");
btnExecute.addActionListener(this);
pa.add(btnExecute);
add("North",pa);
taResults = new TextArea(30,60);
add("Center",taResults);
chatURL = getCodeBase();
}
public void actionPerformed(ActionEvent evt)
{String lbl = evt.getActionCommand();if(lbl.equals("查询")){String qryString = tfQuery.getText();try{String qry = URLEncoder.encode("qry","UTF-8") + "=" +URLEncoder.encode(qryString,"UTF-8");String str = "http://223.209.128.148:8080/DbServlet/user.DbServlet";URL urlName = new URL(str);URLConnection uc = urlName.openConnection();uc.setDoOutput(true);uc.setDoInput(true);uc.setUseCaches(false);
uc.setRequestProperty("Content-type","application/xwww-form-urlencoded");uc.connect();DataOutputStream dos = new
DataOutputStream(uc.getOutputStream());dos.writeBytes(qry);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.setText(e.toString());}catch(IOException e){taResults.setText(e.toString());}}}}其中223.209.128.148是我电脑ip地址,user.DbServlet是apache-tomcat-7.0.32服务器端Servlet。在我运行时在uc.getInputStream()处得到java.io.FileNotFoundException:http://223.209.128.148:8080/DbServlet/user.DbServlet错误,是什么原因?另外为什么在uc.connect()及uc.getOutputStream()处不抛出这个错误?javaAppletServletTomcat

解决方案 »

  1.   

    String str = "http://223.209.128.148:8080/DbServlet/user.DbServlet";user.DbServlet 是什么意思?user包?
    可能是servlet的地址有问题,检查 服务器上 web.xml 的有关servlet配置部分
      

  2.   

    你直接访问http://223.209.128.148:8080/DbServlet/user.DbServlet这个网址能成功?
      

  3.   

    我改为:
    String str = "http://localhost:8080/DbServlet/user.DbServlet";
    出现同样错误。
    但通过浏览器用该地址访问不出错误。