广告
返回顶部
首页 > 资讯 > 服务器 >如何通过Java代码实现Jetty的Http服务器
  • 840
分享到

如何通过Java代码实现Jetty的Http服务器

2023-07-02 15:07:35 840人浏览 独家记忆
摘要

这篇文章主要讲解了“如何通过Java代码实现Jetty的Http服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过Java代码实现Jetty的Http服务器”吧!Jetty是一个轻

这篇文章主要讲解了“如何通过Java代码实现Jetty的Http服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过Java代码实现Jetty的Http服务器”吧!

Jetty是一个轻量级的高度可扩展的基于 java的WEB服务器和servlet引擎。

下面是 使用 Intellij ideaMaven项目 通过Java代码,实现 Jetty 的 Http服务器 从而获取到 Http 的 Get 和 Post 请求

一、添加 pom.xml

如何通过Java代码实现Jetty的Http服务器

如何通过Java代码实现Jetty的Http服务器

 <!-- Jetty。要注意版本,版本匹配不对时,运行Jetty的应用将会报错-->    <dependency>      <groupId>org.eclipse.jetty.aggregate</groupId>      <artifactId>jetty-all</artifactId>      <version>8.0.4.v20111024</version>    </dependency>

二、在maven 加载 jetty

如何通过Java代码实现Jetty的Http服务器

点击 刷新 图标 系统会自动 加载 jetty

加载完成后 就会 出现org.eclipse.jetty.aggregate:jetty-all:8.0.4.v20111024

三、新建AttendentConsolehttpservlet.java

package com.SinaServer;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;public class AttendentConsoleHttpServlet extends HttpServlet {    @Override    public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException {        System.out.println(req.toString());        BufferedReader streamReader = new BufferedReader( new InputStreamReader(req.getInputStream(), "UTF-8"));        StringBuilder responseStrBuilder = new StringBuilder();        String inputStr;        while ((inputStr = streamReader.readLine()) != null)            responseStrBuilder.append(inputStr);        System.out.println(responseStrBuilder.toString());        //允许跨域        res.setHeader("Access-Control-Allow-Origin", "*");        res.setHeader("Access-Control-Allow-Methods", "*");        res.setHeader("Access-Control-Max-Age", "3600");        res.addHeader("Access-Control-Allow-Headers", "*");        res.setHeader("Access-Control-Allow-Credentials", "*");        //        //Map<String ,String> map = JSON.parseObject(Base64.decode(responseStrBuilder.toString()),Map.class);        //this.doGet(req, res);    }    @Override    protected void doGet(HttpServletRequest request, HttpServletResponse response)  {        response.setContentType("text/html;charset=utf-8");        response.setStatus(HttpServletResponse.SC_OK);        //允许跨域        response.setHeader("Access-Control-Allow-Origin", "*");        response.setHeader("Access-Control-Allow-Methods", "*");        response.setHeader("Access-Control-Max-Age", "3600");        response.addHeader("Access-Control-Allow-Headers", "*");        response.setHeader("Access-Control-Allow-Credentials", "*");        //        System.out.println("get request:");        Map<String, String[]> maps =  request.getParameterMap();        HashMap<String,String> mapAction = new HashMap<>();        for (Map.Entry<String, String[]> entry : maps.entrySet()) {            //String cs = entry.geTKEy() + ":"+ Arrays.toString(entry.getValue())+";";            String cs = entry.getKey() + ":"+ entry.getValue()[0]+";";            System.out.println(cs);            mapAction.put(entry.getKey(),entry.getValue()[0]);        }        //如果包含action请求        String strResponse="";        if (mapAction.containsKey("action")){            switch (mapAction.get("action")){                case "query":                    strResponse=this.query();                    break;                default:            }        }        //        try {            response.getWriter().println(strResponse);        } catch (IOException e) {            e.printStackTrace();        }    }    public String query(){        String json="Hello Word! 已收到请求";        return  json;    }}

四、在App.java 中 加入

package com.SinaServer;import org.eclipse.jetty.server.Server;import org.eclipse.jetty.server.handler.ContextHandlerCollection;import org.eclipse.jetty.servlet.ServletContextHandler;import org.eclipse.jetty.servlet.ServletHolder;public class App {    public static void main( String[] args )    {        System.out.println( "Hello World!111222" );         //jetty的处理集合        ContextHandlerCollection contexts = new ContextHandlerCollection();        //jetty http请求事件        ServletContextHandler context1 = new ServletContextHandler(ServletContextHandler.SESSIONS);        //httpapi        AttendentConsoleHttpServlet httpServletCli= new AttendentConsoleHttpServlet();        context1.addServlet(new ServletHolder(httpServletCli), "/httpCli");//httpapi        contexts.addHandler(context1);        //jetty服务器启动        Server server = new Server(5011);//设置端口        server.setHandler(contexts);        try {            server.start();//jetty服务器启动            System.out.println("Jetty Server 启动成功。port : 5011" );            server.join();        } catch (Exception e) {            e.printStackTrace();            System.out.println(e.getMessage());        }    }}

五、运行 java

如何通过Java代码实现Jetty的Http服务器

启动成功后 用浏览器 访问

http://192.168.1.143:5011/httpCli?action=query

如何通过Java代码实现Jetty的Http服务器

感谢各位的阅读,以上就是“如何通过Java代码实现Jetty的Http服务器”的内容了,经过本文的学习后,相信大家对如何通过Java代码实现Jetty的Http服务器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何通过Java代码实现Jetty的Http服务器

本文链接: https://www.lsjlt.com/news/342894.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何通过Java代码实现Jetty的Http服务器
    这篇文章主要讲解了“如何通过Java代码实现Jetty的Http服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何通过Java代码实现Jetty的Http服务器”吧!Jetty是一个轻...
    99+
    2023-07-02
  • Intellij IDEA 的maven项目通过Java代码实现Jetty的Http服务器(推荐)
    目录一、添加 pom.xml二、在maven 加载 jetty三、新建AttendentConsoleHttpServlet.java四、在App.java 中 加入五、运行 jav...
    99+
    2022-11-13
  • java中通过servle4t实现浏览器服务器的
    ava中servlet类,首先建一个包cn.java.servlet,同样建一个cn.java.entity的包用来建立实体类。本节是Java-web阶段第52课时,通过继承servlet类实现了,从浏览器端发送请求到服务器(这时候在con...
    99+
    2023-06-02
  • 如何使用Java程序通过http post访问ABAP Netweaver服务器
    小编给大家分享一下如何使用Java程序通过http post访问ABAP Netweaver服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!app guid:...
    99+
    2023-06-04
  • java实现服务器巡查的代码
    目录需求批量ping1.Jdk1.5的InetAddresss方式2.最简单的办法,直接调用CMD3.Java调用shell执行ping命令批量ssh检查需求:依赖引入工具封装密码核...
    99+
    2022-11-12
  • 如何通过WebSocket实现浏览器与服务器的通信
    这篇文章给大家分享的是有关如何通过WebSocket实现浏览器与服务器的通信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。现如今有个需求,基于websocket实现浏览器与服务器的通信。由于之前没有使用过webs...
    99+
    2023-06-04
  • 通过Java实现反向代理集群服务的平滑分配
    目录1.理解全过程1.1.概述1.2.整个流程2.代码实现2.1.节点类2.2.代理配置类2.3.负载均衡算法接口2.4.平滑加权轮询算法2.5.代理服务线程类2.6.代理服务类2....
    99+
    2022-11-13
  • 如何使用Java 11 HTTP Client API实现HTTP/2服务器推送
    这篇文章将为大家详细讲解有关如何使用Java 11 HTTP Client API实现HTTP/2服务器推送,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。对 HttpUrlConnection 你还有印象...
    99+
    2023-06-02
  • Android 通过httppost上传文本文件到服务器的实例代码
    废话不多说了,直接给大家贴关键代码了。 public static void httpPost(Activity activity,String urlstr,String...
    99+
    2022-06-06
    服务器 Android
  • Java和Windows编程算法:如何通过关键字实现更高效的代码?
    Java和Windows编程是两个非常流行的编程语言,它们在不同的应用场景中都有着广泛的应用。然而,在实际开发中,我们可能会遇到一些效率低下的问题,比如代码运行速度慢、内存占用过高等。这些问题的出现往往是由于代码实现不够优化所导致的。本文...
    99+
    2023-08-05
    windows 编程算法 关键字
  • 怎么通过Java实现反向代理集群服务的平滑分配
    本文小编为大家详细介绍“怎么通过Java实现反向代理集群服务的平滑分配”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么通过Java实现反向代理集群服务的平滑分配”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1...
    99+
    2023-06-30
  • 如何通过SSH实现跨服务器的Linux SysOps管理
    通过SSH实现跨服务器的Linux SysOps管理有以下步骤:1. 确保源服务器和目标服务器都已安装和配置好SSH服务器和客户端。...
    99+
    2023-10-09
    Linux
  • Java如何通过动态代理实现一个简单的拦截器操作
    这篇文章主要介绍“Java如何通过动态代理实现一个简单的拦截器操作”,在日常操作中,相信很多人在Java如何通过动态代理实现一个简单的拦截器操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如何通过动...
    99+
    2023-06-20
  • 如何通过Xshell登录阿里云服务器的密码
    阿里云服务器是阿里云提供的云基础设施服务,它提供了高效、稳定的计算能力。然而,阿里云服务器的登录密码设置比较复杂,需要使用特殊的工具进行登录。本文将详细讲解如何通过Xshell登录阿里云服务器的密码。 一、准备工作首先,你需要准备一台能够连...
    99+
    2023-11-18
    阿里 密码 服务器
  • 如何用Netty实现高效的HTTP服务器
    1 概述 HTTP 是基于请求/响应模式的:客户端向服务器发送一个 HTTP 请求,然后服务器将会返回一个 HTTP 响应。Netty 提供了多种编码器和解码器以简化对这个协议的使用...
    99+
    2022-11-12
  • 如何购买国外云服务器通过代理访问谷歌账号和密码
    如果您想购买国外云服务器,以下是一些建议: 使用谷歌账号访问:请确保您的谷歌账户已成功登录。如果您忘记账户登录密码或者其他个人信息,您需要尝试重置该账户。 使用国外云服务器提供商提供的代理访问:您可以使用国外云服务器提供商提供的代理访问...
    99+
    2023-10-26
    账号 国外 密码
  • Linux服务器集群系统中如何通过IP隧道实现虚拟服务器
    这篇文章主要介绍了Linux服务器集群系统中如何通过IP隧道实现虚拟服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux服务器集群系统是当代许多公司采用的解决方案,...
    99+
    2023-06-16
  • 如何通过PHP脚本在Linux服务器上实现队列处理
    一、介绍在Web开发中,我们经常会遇到需要处理大量任务的情况,例如发送大量邮件、处理大量图片等。如果我们直接在页面请求中处理这些任务,会导致页面响应时间过长和用户体验下降。为了解决这个问题,我们可以使用队列处理的方式来分离任务处理和页面响应...
    99+
    2023-10-21
    linux服务器 队列处理 PHP脚本
  • 如何通过PHP脚本在Linux服务器上实现数据加密
    引言数据加密是现代计算机系统中非常重要的一项安全措施。通过加密敏感数据,可以保护用户隐私和数据完整性。本文将介绍如何在Linux服务器上使用PHP脚本实现数据加密,并提供具体的代码示例。使用OpenSSL库OpenSSL是一个开源的密码学工...
    99+
    2023-10-21
    Linux PHP 加密
  • 如何通过PHP脚本在Linux服务器上实现数据导出
    在开发 Web 应用程序时,经常会遇到需要将数据库中的数据导出为各种格式(如CSV、Excel等)的需求。而PHP作为一种流行的服务器端脚本语言,能够方便地连接数据库并处理数据,也可以轻松地在Linux服务器上实现数据导出功能。以下是一个示...
    99+
    2023-10-21
    linux服务器 数据导出 PHP脚本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作