jetty内嵌web页面服务入门

简介: jetty内嵌web页面服务入门

一个特别好的Demo,记录一下

访问: http://127.0.0.1:8989/?name=name

package wang.jettyTest2;
 
import org.eclipse.jetty.server.Server;
 
public class JettyServer {
  public static void main(String[] args) throws Exception {
                //访问http://127.0.0.1:8989/?name=name
    Server server = new Server(8989);
    server.setHandler(new TestHandler());
    server.start();
    server.join();
  }
}
package wang.jettyTest2;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;
 
public class TestHandler extends AbstractHandler {
   
    @Override
    public void handle(String target, Request baseRequest, HttpServletRequest request,
            HttpServletResponse response) throws IOException, ServletException {
        //用户请求的uri
        //http://localhost:8080/index.html?name=rolin  -> target=/index.html
        System.out.println("target is :" + target);
        
        //设置http头信息
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        response.setStatus(HttpServletResponse.SC_OK);
        
        baseRequest.setHandled(true);
        
        //获取向浏览器输出的流
        PrintWriter out = response.getWriter();
        if("/favicon.ico".equals(target)){//jetty默认会在每次请求结束,再请求一次这个uri
            System.out.println("request /favicon.ico");
            out.write("404");
        }else{
            System.out.println("request other!");
            //out.print("{['name':'name','id':'id']}");
            out.print("<h3>hello jetty!</h3>");
            //其他请求参数
            if(request.getParameter("name") != null) {
                out.print("<h3>your name is "+request.getParameter("name")+"!</h3>");
            }
        }
    }
 
}
目录
相关文章
|
12天前
|
中间件 API Go
使用Echo和Gin构建高性能Web服务的技术文档
本文档对比了Go语言中的两个流行Web框架——Echo和Gin。Echo是一个高性能、可扩展的框架,适合构建微服务和API,强调简洁API和并发性能。Gin基于net/http包,具有Martini风格API,以其快速路由和丰富社区支持闻名。在性能方面,Gin的路由性能出色,两者并发性能均强,内存占用低。文中还提供了使用Echo和Gin构建Web服务的代码示例,帮助开发者了解如何运用这两个框架。选择框架应考虑项目需求和个人喜好。
25 2
|
3天前
|
开发框架 .NET PHP
Web服务搭建&站库分离&路由访问
Web服务搭建&站库分离&路由访问
|
3天前
|
监控 小程序 前端开发
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
|
3天前
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
|
缓存 分布式计算 API
Spark Netty与Jetty (源码阅读十一)
  spark呢,对Netty API又做了一层封装,那么Netty是什么呢~是个鬼。它基于NIO的服务端客户端框架,具体不再说了,下面开始。   创建了一个线程工厂,生成的线程都给定一个前缀名。      像一般的netty框架一样,创建Netty的EventLoopGroup:      在常用...
1072 0