给你一个例子
    Jsp的一个重要特性就是可以用javaBean实现功能的扩展。将大部分功能放在javaBean中完成,以使jsp页面程序更干净简洁、利于维护。JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。如下就是一个Hello示例:testA.jsp页面:<%@ page contentType="text/html;charset=GBK"  %>
<html>
<head>
<title>示例</title>
</head>
<body scroll=no>
<form name="frma" method="post" action="testB.jsp" >
  <p>
   你的姓名: 
    <input type="text" size="15" name="yourName" value="" id=yourName>
    <input  type="button" align="center"   name="subBtn" value="[提交]" onClick="f_check()" id=subBtn>
  </p>   
  </form>
</body>
</html>
<script language="JavaScript" type="text/javascript">
<!--
function f_check(){
 if(document.forms(0).yourName.value==""){
  alert("请输入姓名");
 }else{
  document.forms(0).submit();
 }
}
-->
</SCRIPT>testB.jsp页面<%@ page contentType="text/html;charset=GBK"  %>
<html>
<head>
<title>示例</title>
</head>
<jsp:useBean id="tBean" scope="page" class="bean.TestBean" >
 <jsp:setProperty name="tBean" property="*" />
</jsp:useBean>
<body scroll=no>
<form name="frmb" method="post" action="" > 
  <p>
    <%=tBean.hello()%>
  </p>
  </form>
</body>
</html>
TestBean.java 代码:package bean;public class TestBean{ private String yourName = ""; 
 
 public void setYourName(String yourName){
  this.yourName = ConvertGBK(yourName);
 }
 
 public String hello(){
  String strHello = "Hello:"+yourName;
  return strHello;
 } 
 
 //汉字转换方法
 public String ConvertGBK(String str){
          String strReturn="";
          try{
           strReturn=new String(str.getBytes("ISO-8859-1"),"GBK");
          }catch(Exception ex){
           System.out.println("TestBean.ConvertGBK():ex="+ex.toString());
          }
          finally{
           return strReturn;
          }
   }}
testA.jsp页面上“提交”按钮将表单提交给testB.jsp页面,testB.jsp获得的testA.jsp中yourName文本框的值并在实例化TestBean后,执行bean中的setYourName方法,接着执行hello方法,在页面上输出对你问好的语句。
这个简单的示例体现了在jsp中使用javaBean的两个重要方面,一个是捕获表单的输入并保存,一个是执行逻辑功能。所以,依此两个功能还可以将用在jsp中的javaBean分为值Bean(value bean)和工具Bean (utility bean),如下:值Bean
package bean;public class TestValueBean{
 private String yourName = "";
 
 public void setYourName(String yourName){
  this.yourName = ConvertGBK(yourName);  
 }
 //汉字转换方法
 public String ConvertGBK(String str){
          String strReturn="";
          try{
           strReturn=new String(str.getBytes("ISO-8859-1"),"GBK");
          }catch(Exception ex){
           System.out.println("TestBean.ConvertGBK():ex="+ex.toString());
          }
          finally{
           return strReturn;
          }
   }
}工具Bean
package bean;public class TestUtilityBean{
 
 public String hello(TestValueBean tvBean){
  String strHello = "Hello:"+tvBean.getName();
  return strHello;
 }
 public String hello(String yourName){
  String strHello = "Hello:"+yourName;
  return strHello;
 }
}当然,从这个例子看是没有必要分开value bean和utility bean的,但在具有复杂业务逻辑的web应用程序中就可以用value bean实现对表单输入的捕获、保存,减少对数据库中那些值几乎不变的实体的访问,或将value bean放在一定作用域内使此作用域内的多个jsp页面共享。用utility bean完成操作数据库、数据处理等业务逻辑,以value bean 或页面传递的值为参数。

解决方案 »

  1.   

    bonbonice(冰狐):
    先搞清楚我问的问题,然后再回答。
      

  2.   

    你想post multipart/form-data?
    我整理一下给你
      

  3.   

    刚才抓包得到的资料(上传一个文件)
    Content-Type: multipart/form-data; boundary=---------------------------7d510d111505ce
    主要在这里声明分割行(随机的)POST http://bbs.nju.edu.cn/vd994725/bbsdoupload HTTP/1.0Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */*Referer: http://bbs.nju.edu.cn/vd994725/bbsupload?board=MAILBOXAccept-Language: zh-cnContent-Type: multipart/form-data; boundary=---------------------------7d510d111505ceProxy-Connection: Keep-AliveUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)Host: bbs.nju.edu.cnContent-Length: 6056Pragma: no-cacheCookie: FOOTKEY=1413832894; utmpnum=1402; utmpkey=90403626; utmpuserid=lxleaves-----------------------------7d510d111505ceContent-Disposition: form-data; name="up"; filename="D:\jdk\jre\lib\font.properties.hi"Content-Type: text/plain# @(#)font.properties.hi 1.10 02/03/07
    #
    # Copyright 2002 Sun Microsystems, Inc. All rights reserved.
    ## Component Font Mappings
    #
    dialog.0=Arial,DEFAULT_CHARSET
    dialog.1=Mangal,DEFAULT_CHARSET
    dialog.2=WingDings,SYMBOL_CHARSET
    dialog.3=Symbol,SYMBOL_CHARSETdialog.bold.0=Arial Bold,DEFAULT_CHARSET
    dialog.bold.1=Mangal,DEFAULT_CHARSET
    dialog.bold.2=WingDings,SYMBOL_CHARSET
    dialog.bold.3=Symbol,SYMBOL_CHARSETdialog.italic.0=Arial Italic,DEFAULT_CHARSET
    dialog.italic.1=Mangal,DEFAULT_CHARSET
    dialog.italic.2=WingDings,SYMBOL_CHARSET
    dialog.italic.3=Symbol,SYMBOL_CHARSETdialog.bolditalic.0=Arial Bold Italic,DEFAULT_CHARSET
    dialog.bolditalic.1=Mangal,DEFAULT_CHARSET
    dialog.bolditalic.2=WingDings,SYMBOL_CHARSET
    dialog.bolditalic.3=Symbol,SYMBOL_CHARSETdialoginput.0=Courier New,DEFAULT_CHARSET
    dialoginput.1=Mangal,DEFAULT_CHARSET
    dialoginput.2=WingDings,SYMBOL_CHARSET
    dialoginput.3=Symbol,SYMBOL_CHARSETdialoginput.bold.0=Courier New Bold,DEFAULT_CHARSET
    dialoginput.bold.1=Mangal,DEFAULT_CHARSET
    dialoginput.bold.2=WingDings,SYMBOL_CHARSET
    dialoginput.bold.3=Symbol,SYMBOL_CHARSETdialoginput.italic.0=Courier New Italic,DEFAULT_CHARSET
    dialoginput.italic.1=Mangal,DEFAULT_CHARSET
    dialoginput.italic.2=WingDings,SYMBOL_CHARSET
    dialoginput.italic.3=Symbol,SYMBOL_CHARSETdialoginput.bolditalic.0=Courier New Bold Italic,DEFAULT_CHARSET
    dialoginput.bolditalic.1=Mangal,DEFAULT_CHARSET
    dialoginput.bolditalic.2=WingDings,SYMBOL_CHARSET
    dialoginput.bolditalic.3=Symbol,SYMBOL_CHARSETserif.0=Times New Roman,DEFAULT_CHARSET
    serif.1=Mangal,DEFAULT_CHARSET
    serif.2=WingDings,SYMBOL_CHARSET
    serif.3=Symbol,SYMBOL_CHARSETserif.bold.0=Times New Roman Bold,DEFAULT_CHARSET
    serif.bold.1=Mangal,DEFAULT_CHARSET
    serif.bold.2=WingDings,SYMBOL_CHARSET
    serif.bold.3=Symbol,SYMBOL_CHARSETserif.italic.0=Times New Roman Italic,DEFAULT_CHARSET
    serif.italic.1=Mangal,DEFAULT_CHARSET
    serif.italic.2=WingDings,SYMBOL_CHARSET
    serif.italic.3=Symbol,SYMBOL_CHARSETserif.bolditalic.0=Times New Roman Bold Italic,DEFAULT_CHARSET
    serif.bolditalic.1=Mangal,DEFAULT_CHARSET
    serif.bolditalic.2=WingDings,SYMBOL_CHARSET
    serif.bolditalic.3=Symbol,SYMBOL_CHARSETsansserif.0=Arial,DEFAULT_CHARSET
    sansserif.1=Mangal,DEFAULT_CHARSET
    sansserif.2=WingDings,SYMBOL_CHARSET
    sansserif.3=Symbol,SYMBOL_CHARSETsansserif.bold.0=Arial Bold,DEFAULT_CHARSET
    sansserif.bold.1=Mangal,DEFAULT_CHARSET
    sansserif.bold.2=WingDings,SYMBOL_CHARSET
    sansserif.bold.3=Symbol,SYMBOL_CHARSETsansserif.italic.0=Arial Italic,DEFAULT_CHARSET
    sansserif.italic.1=Mangal,DEFAULT_CHARSET
    sansserif.italic.2=WingDings,SYMBOL_CHARSET
    sansserif.italic.3=Symbol,SYMBOL_CHARSETsansserif.bolditalic.0=Arial Bold Italic,DEFAULT_CHARSET
    sansserif.bolditalic.1=Mangal,DEFAULT_CHARSET
    sansserif.bolditalic.2=WingDings,SYMBOL_CHARSET
    sansserif.bolditalic.3=Symbol,SYMBOL_CHARSETmonospaced.0=Courier New,DEFAULT_CHARSET
    monospaced.1=Mangal,DEFAULT_CHARSET
    monospaced.2=WingDings,SYMBOL_CHARSET
    monospaced.3=Symbol,SYMBOL_CHARSETmonospaced.bold.0=Courier New Bold,DEFAULT_CHARSET
    monospaced.bold.1=Mangal,DEFAULT_CHARSET
    monospaced.bold.2=WingDings,SYMBOL_CHARSET
    monospaced.bold.3=Symbol,SYMBOL_CHARSETmonospaced.italic.0=Courier New Italic,DEFAULT_CHARSET
    monospaced.italic.1=Mangal,DEFAULT_CHARSET
    monospaced.italic.2=WingDings,SYMBOL_CHARSET
    monospaced.italic.3=Symbol,SYMBOL_CHARSETmonospaced.bolditalic.0=Courier New Bold Italic,DEFAULT_CHARSET
    monospaced.bolditalic.1=Mangal,DEFAULT_CHARSET
    monospaced.bolditalic.2=WingDings,SYMBOL_CHARSET
    monospaced.bolditalic.3=Symbol,SYMBOL_CHARSET# Font File Names
    #
    filename.Arial=ARIAL.TTF
    filename.Arial_Bold=ARIALBD.TTF
    filename.Arial_Italic=ARIALI.TTF
    filename.Arial_Bold_Italic=ARIALBI.TTFfilename.Courier_New=COUR.TTF
    filename.Courier_New_Bold=COURBD.TTF
    filename.Courier_New_Italic=COURI.TTF
    filename.Courier_New_Bold_Italic=COURBI.TTFfilename.Times_New_Roman=TIMES.TTF
    filename.Times_New_Roman_Bold=TIMESBD.TTF
    filename.Times_New_Roman_Italic=TIMESI.TTF
    filename.Times_New_Roman_Bold_Italic=TIMESBI.TTFfilename.WingDings=WINGDING.TTF
    filename.Symbol=SYMBOL.TTFfilename.Mangal=MANGAL.TTF# Missing Glyph Character
    #
    default.char=2751# Component Font Character Encodings
    #
    fontcharset.dialog.0=sun.io.CharToByteCp1252
    fontcharset.dialog.1=sun.io.CharToByteUnicodeLittle
    fontcharset.dialog.2=sun.awt.windows.CharToByteWingDings
    fontcharset.dialog.3=sun.awt.CharToByteSymbolfontcharset.dialoginput.0=sun.io.CharToByteCp1252
    fontcharset.dialoginput.1=sun.io.CharToByteUnicodeLittle
    fontcharset.dialoginput.2=sun.awt.windows.CharToByteWingDings
    fontcharset.dialoginput.3=sun.awt.CharToByteSymbolfontcharset.serif.0=sun.io.CharToByteCp1252
    fontcharset.serif.1=sun.io.CharToByteUnicodeLittle
    fontcharset.serif.2=sun.awt.windows.CharToByteWingDings
    fontcharset.serif.3=sun.awt.CharToByteSymbolfontcharset.sansserif.0=sun.io.CharToByteCp1252
    fontcharset.sansserif.1=sun.io.CharToByteUnicodeLittle
    fontcharset.sansserif.2=sun.awt.windows.CharToByteWingDings
    fontcharset.sansserif.3=sun.awt.CharToByteSymbolfontcharset.monospaced.0=sun.io.CharToByteCp1252
    fontcharset.monospaced.1=sun.io.CharToByteUnicodeLittle
    fontcharset.monospaced.2=sun.awt.windows.CharToByteWingDings
    fontcharset.monospaced.3=sun.awt.CharToByteSymbol# Exclusion Ranges
    #
    exclusion.dialog.0=0900-20ab,20ad-ffff
    exclusion.dialoginput.0=0900-20ab,20ad-ffff
    exclusion.serif.0=0900-20ab,20ad-ffff
    exclusion.sansserif.0=0900-20ab,20ad-ffff
    exclusion.monospaced.0=0900-20ab,20ad-ffff# Text Input Character Set
    #
    inputtextcharset=DEFAULT_CHARSET
    -----------------------------7d510d111505ceContent-Disposition: form-data; name="MAX_FILE_SIZE"5000000-----------------------------7d510d111505ceContent-Disposition: form-data; name="board"MAILBOX-----------------------------7d510d111505ceContent-Disposition: form-data; name="exp"-----------------------------7d510d111505ce--
      

  4.   

    这个你下载下来看
    D:\jdk\jre\lib\font.properties.hi
    这个是我post的文件名http://218.94.36.113/file/L/lxleaves/catch.txt
      

  5.   

    我给你一个完整的类
    import java.io.*;
    import java.net.*;/*
     * 这个类用于得到某个URL资源的输出放在一个长字符串中 或者存在一个文件
     */
    public class urlPostOutput {
      public urlPostOutput() {  }
      public static void main(String args[]) {
        String servletPath = "http://cxz/vml/s.jsp";
        String reqParam[][] = { { "request", "get_table_dec_service" },
            { "format", "xml" } };
        //---------------------------------------
        String s = urlPostOutput.getOutText(servletPath, reqParam);
        System.out.println(s);
      }  public static String getOutText(String url, String[][] params) {
        /*
         * 得到URL资源返回的内容字符串,可以在程序中直接解析,也可以存在一个文件 参数含义 url URL资源的路径 如
         * "http://192.168.0.201/java/servlet" params 二维字符串数组,提供一系列,名/值对 典型格式是:
         * String params[][]={ {"request","query"}, {"format","xml"},
         * {"query","select * from substation where name like '%硖北%'"} };
         *  
         */
        try {
          String reqstring = "";
          for (int i = 0; i < params.length; i++) {
            if (i != 0)
              reqstring += "&";
            reqstring += URLEncoder.encode(params[i][0], "UTF-8") + '='
                + URLEncoder.encode(params[i][1], "UTF-8");
          }
          StringBuffer bf = new StringBuffer();
          URL ur = new URL(url);
          URLConnection reverseConn = ur.openConnection();
          reverseConn.setDoOutput(true);
          reverseConn.setDoInput(true);
          PrintStream output = new PrintStream(reverseConn.getOutputStream());
          output.print(reqstring);
          output.flush();
          DataInputStream input = new DataInputStream(reverseConn
              .getInputStream());
          int b;
          while ((b = input.read()) != -1) {
            bf.append((char) b);
          }
          return new String(bf.toString().getBytes("ISO-8859-1"), "UTF-8");
        } catch (Exception e) {
          System.out.print(e.toString());
          return e.toString();
        }  }  public static boolean getOutText(String url, String[][] params, String fanme) {
        /*
         * 得到URL资源返回的内容字符串,可以在程序中直接解析,这里存在一个文件fanme 参数含义 url URL资源的路径 如
         * "http://192.168.0.201/java/servlet" params 二维字符串数组,提供一系列,名/值对 典型格式是:
         * String params[][]={ {"request","query"}, {"format","xml"},
         * {"query","select * from substation where name like '%硖北%'"} };
         *  
         */
        try {
          String s = getOutText(url, params);
          FileOutputStream fos = new FileOutputStream(fanme);
          fos.write(s.getBytes("UTF-8"));
          fos.flush();
          fos.close();
        } catch (Exception e) {
          System.out.print(e.toString());
          return false;
        }
        return true;
      }}
      

  6.   

    “如果是读取一个URL的数据已经成功了,但是如何向一个Servlet post数据呢?”
    你是否希望把你自己的参数通过url地址传送给Servlet?
      

  7.   

    这个过段时间我也要试。确实很多答非所问。楼主是要在java代码里面post数据而不是通过页面提交。
      

  8.   

    通过url地址传送post参数是不切实际的,在我的类中只需要设置getOutText的第二个参数params,该参数是一个二维数组,比如request=query,format=xml,query=select * from substation where name like '%硖北%'的话,就如下设置
    String params[][]={ {"request","query"}, {"format","xml"}, {"query","select * from substation where name like '%硖北%'"} };
      

  9.   

    URL默认是get操作,要改变URL请求操作类型必需通过HttpURLConnection 来实现。代码如下:
    try {
         StringBuffer strFileInfoBuf = new StringBuffer();
         //发送文件数据信息:提交操作类型(FLAG)、传送的文件名称(name)
         String strProcessURL =
                    "http://127.0.0.1/NSSB/MyServlet?FLAG=sendfile&name=apptest.log";     //connect server
         URL objURL = new URL(strProcessURL);
         HttpURLConnection objConn = (HttpURLConnection) objURL.openConnection();
         //设置允许output
         objConn.setDoOutput(true);
         //设置为post方式
         objConn.setRequestMethod("POST");
         StringBuffer strTempBuf = new StringBuffer();
         byte[] byteArray = new byte[2048];
         int nReadCount = -1;
         BufferedOutputStream objOutput =
                   new BufferedOutputStream(objConn.getOutputStream());
         FileInputStream objFileIn = new FileInputStream("c:\\apptest.log");
         while ((nReadCount = objFileIn.read(byteArray)) != -1) {
              objOutput.write(byteArray, 0, nReadCount);
         }
         objOutput.flush();
         objFileIn.close();
         objOutput.close();
    } catch (Exception e) {
       e.printStackTrace();
    }
      

  10.   

    String servletPath = "http://cxz/vml/s.jsp";
    这一句可以是servlet路径,也可以是jsp路径,但要注意,不能是普通的html静态页面,否则出现回应错误如果是htm,应该去掉以下三句
          PrintStream output = new PrintStream(reverseConn.getOutputStream());
          output.print(reqstring);
          output.flush();
    向servlet发送的post参数长度无限制,我曾经设置过2M的长度,如果打算把servlet的输出存到一个文件,则调用第二个重载函数getOutText
      

  11.   

    GJA106(中文字符)是对的,我给个更全面的
    java程序和接收的servlet如下:
    package com.swt.test;import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;public class UploadXMLFile {    /**
         * 上传xml文件
         * 
         * @param strFile
         *            上传带绝对路径的文件名
         * @param strURL
         * @return result 上传成功,result="SUCCESS",其他则为出错信息。
         */
        public synchronized String uploadXMLFile(final String strFile, final String strURL) {        String result = null;        try {
                URL url = new URL(strURL + "?filename=" + strFile);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setDoOutput(true);
                conn.setDoInput(true);
                conn.setUseCaches(false);
                conn.setRequestProperty("enctype", "multipart/form-data");
                conn.setRequestProperty("contentType", "charset=GBK");
                conn.setRequestMethod("POST");            //上传xml文件
                DataInputStream file = new DataInputStream(new FileInputStream(
                        new File(strFile)));
                OutputStream out = conn.getOutputStream();
                int bytesOut = 0;
                byte[] bufferOut = new byte[8192];
                while ((bytesOut = file.read(bufferOut, 0, 8192)) != -1) {
                    out.write(bufferOut, 0, bytesOut);//
                }
                out.flush();
                out.close();            //获得上传的结果
                InputStream isResult = conn.getInputStream();
                byte[] buffer = new byte[isResult.available()];
                isResult.read(buffer);
                result = new String(buffer);
                isResult.close();        } catch (Exception e) {
                result = "ERROR";
                System.out.println(e.getMessage());
            }
            return result;
        }    public static void main(String[] args) {
            UploadXMLFile uxf = new UploadXMLFile();
            System.out.println("上传文件结果");
            String sb = uxf.uploadXMLFile("D:\\swt.xml",
                    "http://localhost:8080/beh/xml.163");
            System.out.println(sb);    }}
    接收的servlet
    package com.swt.servlet;import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.ObjectInputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.io.UnsupportedEncodingException;import javax.servlet.ServletException;
    import javax.servlet.ServletInputStream;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    /**
     *
     * @author sweater
     */
    public class GetXMLFile extends HttpServlet {    
        private final static Log log = LogFactory.getLog(LoginAction.class);
        
        /**
         * Constructor of the object.
         */
        public GetXMLFile() {
            super();
        }    /**
         * Destruction of the servlet. <br>
         */
        public void destroy() {
            super.destroy(); // Just puts "destroy" string in log
            // Put your code here
        }    /**
         * The doPost method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to post.
         * 
         * @param request the request send by the client to the server
         * @param response the response send by the server to the client
         * @throws ServletException if an error occurred
         * @throws IOException if an error occurred
         */
        public void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            
            System.out.println(this.getClass());
            //System.out.println((String)request.getParameter("filename"));      response.setContentType("text/html");
    PrintWriter outResult = null;
            try {
                outResult = response.getWriter();
            } catch (IOException ioE) {
            }
            
            String saveFile = "D:\\get.xml";//""";
            String uploadReult = "ERROR";
            int reqStreamLen = request.getContentLength();
            BufferedReader readFile = null;
            BufferedWriter writeFile = null;
            
            try {
                InputStream is = request.getInputStream();
                OutputStream os = new FileOutputStream(saveFile);//建立一个上传文件的输出流"D:\\get.xml"
                int bytesRead = 0;
                byte[] buffer = new byte[8192];
                while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
                    os.write(buffer, 0, bytesRead);//传过来的文件写入文件
                    //System.out.println(new String(buffer));
                }
                os.flush();
                os.close();
                is.close();        } catch (UnsupportedEncodingException e) {
                uploadReult = "UnsupportedEncodingException";
                log.info(e.getMessage());
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                uploadReult = "FileNotFoundException";
                log.info(e.getMessage());
                e.printStackTrace();
            } catch (IOException e) {
                uploadReult = "IOException";
                log.info(e.getMessage());
                e.printStackTrace();
            }
            
            String uploadFile = (String)request.getParameter("filename");        
            File file = new File(saveFile);
            log.info(String.valueOf(file.length()));
            log.info(String.valueOf(reqStreamLen));
            if(file.exists()&&(file.length()==reqStreamLen)){
                uploadReult = "SUCCESS";
                log.info(request.getRemoteAddr() + "上传文件:" + uploadFile + " 成功");
            }else{
                uploadReult = "ERROR";
                log.info(request.getRemoteAddr() + "上传文件:" + uploadFile + " 失败");
            }
            
            outResult.println(uploadReult);
            outResult.flush();
            outResult.close();
            
        }
        
        public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
           this.doPost(request,response);
        }
        /**
         * Initialization of the servlet. <br>
         *
         * @throws ServletException if an error occure
         */
        public void init() throws ServletException {    }}
      

  12.   

    我推荐使用URLConnection,它不需要设置method,可以把参数附加到url上,也可以通过OutputStream写到http body区
      

  13.   


        try {
          java.net.URL url = new URL("http", "10.180.41.139", 80, "/Common/OA/Service.asp");
          try {        URLConnection urlconn = url.openConnection();
            if (urlconn instanceof HttpURLConnection) {
              ( (HttpURLConnection) urlconn).setRequestMethod("POST");
            }
            urlconn.addRequestProperty("Content-type", "application/x-www-form-urlencoded ; charset=gbk");
            urlconn.setUseCaches(false);
            urlconn.setDoInput(true);
            urlconn.setDoOutput(true);
            PrintWriter out = new PrintWriter(
                urlconn.getOutputStream());
            out.println("aaa=" + URLEncoder.encode(this.jTextField1.getText(),"GBK"));
            out.close();        InputStream is = urlconn.getInputStream();
            DataInputStream filedata = null;        filedata = new DataInputStream(is);
            StringBuffer dirBuf = new StringBuffer();
            int ch;
            while ( (ch = filedata.read()) != -1) {
              dirBuf.append( (char) ch);
            }
            String tempStr =  new String(dirBuf);
            this.jTextField1.setText(tempStr);
          }
          catch (IOException ex1) {
            System.out.println(ex1);
          }
        }
        catch (MalformedURLException ex) {
          System.out.println(ex);
        }
      

  14.   

    up                       "GJA106(中文字符)"                      objConn.setRequestMethod("POST");