java简单http的简单介绍

博主:adminadmin 2022-11-23 12:11:09 63

今天给各位分享java简单http的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 如何实现 http协议传输

Java 6 提供了一个轻量级的纯 Java Http 服务器的实现。下面是一个简单的例子:

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

 HttpServerProvider httpServerProvider = HttpServerProvider.provider();

 InetSocketAddress addr = new InetSocketAddress(7778);

 HttpServer httpServer = httpServerProvider.createHttpServer(addr, 1);

 httpServer.createContext("/myapp/", new MyHttpHandler());

 httpServer.setExecutor(null);

 httpServer.start();

 System.out.println("started");

}

static class MyHttpHandler implements HttpHandler{

 public void handle(HttpExchange httpExchange) throws IOException {

String response = "Hello world!";

httpExchange.sendResponseHeaders(200, response.length());

OutputStream out = httpExchange.getResponseBody();

out.write(response.getBytes());

out.close();

 }

}

然后,在浏览器中访问

JAVA里面的HTTP是什么?

java本身不提供http功能。

http是一个应用层协议,底层用到了TCP。Java提供了TCP协议,但是没有http的实现。

但是,可以在网上找到开源的http client/server实现。例如apache-common-http之类的包。

怎么用java写一个http接口

一个servlet接口就可以了啊:

HTTP Header 请求实例

下面的实例使用 HttpServletRequest 的 getHeaderNames() 方法读取 HTTP 头信息。该方法返回一个枚举,包含与当前的 HTTP 请求相关的头信息。

一旦我们有一个枚举,我们可以以标准方式循环枚举,使用 hasMoreElements() 方法来确定何时停止,使用 nextElement() 方法来获取每个参数的名称。

//导入必需的 java 库

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Enumeration;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

@WebServlet("/DisplayHeader")

//扩展 HttpServlet 类

public class DisplayHeader extends HttpServlet {

// 处理 GET 方法请求的方法

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

{

// 设置响应内容类型

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

String title = "HTTP Header 请求实例 - 菜鸟教程实例";

String docType =

"!DOCTYPE html \n";

out.println(docType +

"html\n" +

"headmeta charset=\"utf-8\"title" + title + "/title/head\n"+

"body bgcolor=\"#f0f0f0\"\n" +

"h1 align=\"center\"" + title + "/h1\n" +

"table width=\"100%\" border=\"1\" align=\"center\"\n" +

"tr bgcolor=\"#949494\"\n" +

"thHeader 名称/ththHeader 值/th\n"+

"/tr\n");

Enumeration headerNames = request.getHeaderNames();

while(headerNames.hasMoreElements()) {

String paramName = (String)headerNames.nextElement();

out.print("trtd" + paramName + "/td\n");

String paramValue = request.getHeader(paramName);

out.println("td " + paramValue + "/td/tr\n");

}

out.println("/table\n/body/html");

}

// 处理 POST 方法请求的方法

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

java 接受http请求

使用servlet

public class Test extends HttpServlet {

private static final long serialVersionUID = 1L;

   

  /**

   * @see HttpServlet#HttpServlet()

   */

  public Test() {

      super();

      // TODO Auto-generated constructor stub

  }

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//接收get请求

// 这里写你接收request请求后要处理的操作

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//接收post请求

// 这里写你接收request请求后要处理的操作

}

}

java如何创建一个简单的http接口?

1.修改web.xml文件

!-- 模拟HTTP的调用,写的一个http接口 -- servlet servlet-nameTestHTTPServer/servlet-name servlet-classcom.atoz.http.SmsHTTPServer/servlet-class /servlet servlet-mapping servlet-nameTestHTTPServer/servlet-name url-pattern/httpServer/url-pattern /servlet-mapping

2.新建SmsHTTPServer.java文件

package com.atoz.http;

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import com.atoz.action.order.SendSMSAction; import com.atoz.util.SpringContextUtil;

public class SmsHTTPServer extends HttpServlet { private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); String content = request.getParameter("content"); //String content = new String(request.getParameter("content").getBytes("iso-8859-1"), "utf-8"); String mobiles = request.getParameter("mobiles"); String businesscode = request.getParameter("businesscode"); String businesstype = request.getParameter("businesstype"); if (content == null || "".equals(content) || content.length() = 0) { System.out.println("http call failed,参数content不能为空,程序退出"); } else if (mobiles == null || "".equals(mobiles) || mobiles.length() = 0) { System.out.println("http call failed,参数mobiles不能为空,程序退出"); } else { /*SendSMSServiceImpl send = new SendSMSServiceImpl();*/ SendSMSAction sendSms = (SendSMSAction) SpringContextUtil.getBean("sendSMS"); sendSms.sendSms(content, mobiles, businesscode, businesstype); System.out.println("---http call success---"); } out.close(); }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }

3.调用http接口

String content = "测试"; content = URLEncoder.encode(content, "utf-8"); String url = "" + content + "mobiles=15301895007"; URL httpTest; try { httpTest = new URL(url); BufferedReader in; try { in = new BufferedReader(new InputStreamReader( httpTest.openStream())); String inputLine = null; String resultMsg = null; //得到返回信息的xml字符串 while ((inputLine = in.readLine()) != null) if(resultMsg != null){ resultMsg += inputLine; }else { resultMsg = inputLine; } in.close(); } catch (MalformedURLException e) { e.printStackTrace(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }

打字不易,望采纳,谢谢

java 如何搭建http服务器

看你具体是想做什么,现在现成的开源的java的http服务器有很多,像tomcat之类的都有http服务器功能,如果你只是单纯的需要用的话,直接用tomcat就好了

但是如果你是做要自己用java实现一个http服务器的话就要稍微麻烦一点

http服务器,本质上还是基于tcpip协议的服务器,首先用java的ServerSocket监听一个端口(也可以使用开源的server组件,如quickserver之类的),然后对客户端发上来的数据进行处理,这里就需要了解一下http协议了,因为上来的数据,都是按照http协议来组织的,你需要将请求数据解析后,将响应数据组织成http的响应,发回给客户端。这样一个简单的http服务器就实现了。

但是这个请求和响应都有很多种类,一个完整的http服务器应该要都能够支持,所以这里面的工作量还是有一点的。

另外,上面说的http服务器只是一个静态的服务器,如果你想让你写的服务具有动态功能,那你的服务器还得提供javaee的容器功能,这样做下去,没准你也能写一个tomcat出来了……

java简单http的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java简单http的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。