pan111pan 2010-03-24 21:14
浏览 500
已采纳

jdk1.6 httpserver如何获取表单post过来的表单元素值呢?

package com.tdt.server.httpserver;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.net.InetSocketAddress;

import com.sun.net.httpserver.HttpExchange;

import com.sun.net.httpserver.HttpHandler;

import com.sun.net.httpserver.HttpServer;

import com.sun.net.httpserver.spi.HttpServerProvider;

/**

  • @project SimpleHttpServer
  • @author sunnylocus
  • @vresion 1.0 2009-9-2
  • @description 自定义的http服务器

    */

    public class MyHttpServer {

    //启动服务,监听来自客户端的请求

    public static void httpserverService() throws IOException {

    HttpServerProvider provider = HttpServerProvider.provider();

    HttpServer httpserver =provider.createHttpServer(new InetSocketAddress(6666), 100);//监听端口6666,能同时接 受100个请求

    httpserver.createContext("/myApp", new MyHttpHandler());

    httpserver.setExecutor(null);

    httpserver.start();

    System.out.println("server started");

    }

    //Http请求处理类

    static class MyHttpHandler implements HttpHandler {

    public void handle(HttpExchange httpExchange) throws IOException {

    String responseMsg = "ok"; //响应信息

    InputStream in = httpExchange.getRequestBody(); //获得输入流

    BufferedReader reader = new BufferedReader(new InputStreamReader(in));

    String temp = null;

    while((temp = reader.readLine()) != null) {

    System.out.println("client request:"+temp);

    }

    httpExchange.sendResponseHeaders(200, responseMsg.length()); //设置响应头属性及响应信息的长度

    OutputStream out = httpExchange.getResponseBody(); //获得输出流

    out.write(responseMsg.getBytes());

    out.flush();

    httpExchange.close();

    }   
    

    }

    public static void main(String[] args) throws IOException {

    httpserverService();

    }

    }

MyHttpHandler 中如何去获取request中的各个表单元素的值?

  • 写回答

3条回答 默认 最新

  • wanghaolovezlq 2010-03-26 17:28
    关注

    没深入研究过jdk1.6的新特性,查看api文档看,有没相关的类或方法,

    其实它只是一个参考实现而已,当学习之用

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面