【JETTY SERVER 开发系列之一】搭建JETTY SERVER环境&&HTTP客户端实现交互

简介:
本站文章均为  李华明Himi 原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接:  http://www.himigame.com/java-servlet/862.html

关于Jetty 简单来说就是一个servlet的容器,如同tomcat 等,至于详细的介绍请大家自行baidu~google

那么本篇主要介绍jetty server的环境搭建以及简单交互示例:

1. 我们下载Jetty :

http://dist.codehaus.org/jetty/    (Himi这里下载的是   jetty-hightide-8.1.3 )

2 . 打开我们的IDE,Himi这里是eclipse,然后新建一个Java项目  “FirstJettyServer”

3. 配置新建的项目加入必要的jar包,如下图:(这些jar包都可以再刚下载的 jetty中找到)

4. 创建我们的JettyServer 类:

 

首先new一个Server并且指定端口,然后我们创建一个ServletContextServer类,用来初始化web应用程序的Context,并且指定Servlet和Servlet匹配的url。因为在Jetty中运行一些的Servlet,需要创建Context,然后让创建的Servlet运行在Context中;

而FirstServlet类是个servlet,通过    ServletContextServer 的 addServlet()函数进行添加;

addServlet 函数有两个参数:

1.  ServletHolder 对象;         2. 客户端访问的字段

下面是我们的Servlet,这里Himi将类名起为“FirstServlet”,代码如下:

本类中我们重写doGet函数,关于这个函数不再赘述;

主要看doGet函数中的内容:

  一个是:首先我定义了两个字符串,其值是从Http Client端获取过来的,并且重新写给客户端进行显示。

       另外一个是由于有中文write给Client端,所以我设置了HttpServletResponse 中 CharacterEncod 为“UTF-8”

注意这个设置编码要再写给Client之前设置!

然后测试下我们的JettyServer端,我们运行ServletServer.java 启动Jetty ;如果正常启动你将看到控制台打印如下信息:

启动成功后,我们来测试我们书写的第一个FirstServlet 这个Servlet。

1.打开你的safari 或者其他浏览器,然后观察如下图的地址和返回的数据显示:

 

 

 

当然除了基本的访问外,Himi还在我们的FirstServlet中可以接收Client端的两个参数,所以继续观察:

 

 注意: 

          1. 虽然网址前都有个Tomcat标志,但是当前Himi访问的是我们的Jetty Server的8080端口,而tomcat我是关闭着的;

         2. 对于Himi使用   “/xiaominghimi”  跟 “/himi” 进行访问我们的Servlet其实访问的是同一个Servlet,只是Himi为了掩饰服务器端一个是无参数构造,另外一个是有参数构造而已;

         3. localhost 等同于  127.0.0.1  ,都是访问本地,测试而用;

         4.一般在浏览器中输入网址访问都是 GET方式


相关文章
|
2月前
|
Rust 前端开发 API
Tauri 开发实践 — Tauri HTTP 请求开发
本文介绍了如何在 Tauri 中发起 HTTP 请求。首先通过安装 Tauri 生态中的工具包并配置 `tauri.conf.json` 文件来允许特定域名的 HTTP 通信。接着封装了一个简单的 HTTP 客户端类,并在页面中使用该客户端实现 GET 和 POST 请求。最后提供了完整的源码地址以供参考。此功能使得桌面应用能够与远程服务器进行交互,增强了应用的实用性。
156 1
Tauri 开发实践 — Tauri HTTP 请求开发
|
5月前
|
运维 Serverless API
Serverless 应用引擎使用问题之如何开发HTTP服务
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
4月前
|
Java Shell API
【Azure 环境】Update-MgEntitlementManagementAccessPackageAssignmentPolicy 命令执行时候遇见的 No HTTP Resource was found 问题分析
【Azure 环境】Update-MgEntitlementManagementAccessPackageAssignmentPolicy 命令执行时候遇见的 No HTTP Resource was found 问题分析
|
4月前
|
JavaScript 前端开发 Java
【Azure 环境】各种语言版本或命令,发送HTTP/HTTPS的请求合集
【Azure 环境】各种语言版本或命令,发送HTTP/HTTPS的请求合集
|
7月前
|
JavaScript 前端开发
基于 Node.js 环境,使用内置 http 模块,创建 Web 服务程序
基于 Node.js 环境,使用内置 http 模块,创建 Web 服务程序
|
7月前
|
JSON Java API
Android 深入Http(5)从Retrofit源码来看Http,最新Android开发面试解答
Android 深入Http(5)从Retrofit源码来看Http,最新Android开发面试解答
|
7月前
|
缓存 前端开发 JavaScript
React和Next.js开发常见的HTTP请求方法
React和Next.js开发常见的HTTP请求方法
134 0
|
7月前
|
应用服务中间件 网络安全 nginx
Client sent an HTTP request to an HTTPS server
Client sent an HTTP request to an HTTPS server
1152 0
|
7月前
|
网络协议 安全 Java
理解HTTP协议:Java Web开发的基础
【4月更文挑战第3天】本文介绍了HTTP协议的基础知识,包括其无状态、应用层协议的特性,基于请求/响应的工作模式,以及TCP连接、HTTP请求和响应的流程。HTTP方法如GET、POST、PUT等用于不同操作,状态码则表示请求结果。在Java Web开发中,理解HTTP有助于设计RESTful API、管理状态、确保安全性、优化性能和处理错误。HTTP协议的深入理解对构建高效、健壮和安全的Web应用至关重要。
90 3