`
lvmlvy
  • 浏览: 44541 次
社区版块
存档分类
最新评论

jetty嵌入java project提供http服务

    博客分类:
  • java
 
阅读更多

1、main函数中启动一个servlet

public static void main(String[] args) throws Exception {  
	    LogUtil.loadLog4J(Constants.log4jPropertyPath);
        Server server = new Server(8080);  
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);  
        context.setContextPath("/"); 
        server.setHandler(context);  
        ResultServlet servlet = new ResultServlet();
        ServletHolder holder = new ServletHolder(servlet);
        context.addServlet(holder, "/result");
        server.start();  
        server.join();  
    } 

 2、ResultServlet  extends HttpServlet

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("---------:" + request.getCharacterEncoding());
        InputStream is = request.getInputStream();
             InputStreamReader reader = new InputStreamReader(is, "gbk");
             StringWriter writer = new StringWriter();
             char[] buffer = new char[1024];
             int n = 0;
             while (-1 != (n = reader.read(buffer))) {
             writer.write(buffer, 0, n);
             }
             String result = writer.toString();

        String partnerCode = request.getParameter("partnerCode");
        System.out.println("partnerCode:" + partnerCode);
        response.setContentType("text/html;charset=utf-8");
        try {
            String rp = "ok"
            response.setStatus(HttpServletResponse.SC_OK);
            response.getWriter().println(rp);
        } catch (Exception e) {
            LOG.error(e.getMessage());
            response.setStatus(HttpServletResponse.SC_OK);
            response.getWriter().println(e.getMessage());
        }

    }

 建议先从流中读取不带参数post过来的字符串文本,否则如果post的时候没有设置header、Content-Type,将会解析出错,post过来的文本会在request.getParameter的时候被解析成parameter的key;

jetty默认编码格式为utf-8,如果请求的编码格式没有设置,jetty解析的时候会按utf-8解析,有汉字会报警告:

2013-09-18 11:13:20.292:WARN:oeju.UrlEncoded:org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte E3 in state 2

 

 

分享到:
评论

相关推荐

    jetty6 嵌入到 javaproject中

    1. 简化部署:通过嵌入Jetty,开发者可以直接在Java应用程序中运行Web服务,无需额外配置独立的服务器实例。 2. 快速启动:Jetty设计为快速启动和响应,这对于开发和测试环境尤其有用。 3. 动态更新:在嵌入式模式下...

    jetty.project-jetty-9.4.35.v20201120.rar

    Jetty作为一个Servlet容器,提供了快速、稳定且可嵌入的特性,开发者可以直接将Jetty服务器与应用程序打包在一起,无需额外的服务器部署步骤。 Jetty 9.4.35是该系列的一个稳定版本,修复了之前版本的一些已知问题...

    CXF+Jetty发布WebService

    由于其小巧的体积和优秀的性能,Jetty常被嵌入到Java应用程序中,为Web服务提供运行环境。 三、CXF+Jetty发布WebService步骤 1. **创建WebService** 首先,我们需要定义一个Java接口,该接口代表我们的Web服务。...

    java http服务器

    Java HTTP服务器是一种轻量级的网络服务程序,它允许开发者在Java平台上构建Web应用程序,而无需依赖大型的Servlet容器如Tomcat或Jetty。描述中提到的服务器可能是一个小型、快速且易于理解的实现,适合学习和开发...

    Java project code2

    5. **Java Web容器**:如Tomcat、Jetty等,它们加载并运行Web应用,处理请求和响应。 6. **部署和运行**:了解如何将项目打包成WAR或JAR文件,以及如何在服务器上部署和启动应用。 7. **Spring框架**:如果项目中...

    struts2+maven+jetty 示例

    Jetty是一个轻量级、高性能的Java Servlet容器,它可以嵌入到Java应用中,无需独立运行。Jetty支持最新的Servlet和JSP规范,启动快速,内存占用少,适合小型和中型的Web应用。在开发阶段,使用Jetty可以实现快速的...

    Eclipse+maven+jetty开发环境搭建

    它不依赖于特定的应用服务器,可以直接嵌入到Java应用中,适合小型到中型的Web应用。Jetty支持最新的Servlet规范,且启动快速,内存占用少。 4. **开发环境搭建步骤**: - **安装Eclipse**: 首先,从官方网站下载...

    myelsipse中使用的jetty

    总的来说,Jetty在MyEclipse中的使用为Java Web开发提供了强大的支持,它不仅简化了开发和调试过程,还提高了开发效率。结合MyEclipse的强大功能,你可以更加专注于代码编写,而不必担心服务器配置等琐碎事务。

    eclipse中配置使用jetty调试web项目

    Jetty可以直接嵌入到Java应用中,无需外部服务器进程,这使得它非常适合于快速开发和测试。而在Eclipse中配置Jetty,可以实现热部署和实时调试,极大提高了开发效率。 1. **安装Jetty插件** 在Eclipse中配置Jetty...

    Java-Web-Project.rar_java corp_项目管理_项目管理系统

    总的来说,"Java-Web-Project.rar"涵盖了Java Web开发的多个层面,涉及了从前端界面到后端服务的完整流程,是学习和研究Java企业级项目管理系统的良好实践案例。通过深入分析和理解这个系统,开发者可以提升在项目...

    JAVA物业管理系统设计与实现-project

    8. **Servlet与JSP**:Servlet用于处理HTTP请求,JSP(JavaServer Pages)则将Java代码嵌入到HTML中,方便动态生成页面内容。 9. **安全机制**:包括用户认证(登录验证)和授权(权限管理),Spring Security或...

    java web 技术文章

    JSP(JavaServer Pages)是Servlet的一种扩展,允许开发者在HTML页面中嵌入Java代码,实现视图层的动态渲染。 2. **MVC模式**:Model-View-Controller模式是Java Web开发中的常见设计模式,用于分离业务逻辑、数据...

    jetty.project:EclipseJetty:registered:-Web容器和客户端-支持HTTP2,HTTP1.1,HTTP1.0,websocket,servlet等

    Jetty是一种现代的完全异步的Web服务器,作为一种面向组件的技术,它很容易嵌入到应用程序中,同时仍为Webapp部署提供可靠的传统分发,历史悠久。 文献资料 项目文档可从Jetty Eclipse网站获得。 建造 要构建,请...

    本学期Java EE项目实战 Java项目源码教程资源

    2. **JSP(JavaServer Pages)**:JSP是Servlet的一种简化方式,允许在HTML页面中嵌入Java代码,使得页面内容与逻辑分离,便于维护。JSP通过编译成Servlet来运行。 3. **MVC(Model-View-Controller)设计模式**:...

    网站系统-project

    2. **JSP**:JavaServer Pages是Java平台上的Web开发技术,它允许在静态HTML中嵌入Java代码,或者通过JSP标签库来实现动态内容的生成。JSP页面在服务器端执行,生成HTML响应给客户端。JSP生命周期包括编译、加载、...

    通过MyEclpise整合JAVA与FLEX进行通讯(通过将Flex工程加到Java web工程中)

    8. **部署和测试**:将Java Web工程和Flex工程一起部署到应用服务器(如Tomcat、Jetty等),然后通过浏览器访问Flex应用,测试JAVA与FLEX的通信是否正常。 在实践中,可能还需要注意一些细节问题,比如跨域策略、...

    最基本的 Java Web 项目模板,无需 J2EE 环境

    - `jsp`或`html`文件:这是用户界面,通常使用JSP(JavaServer Pages)编写,可以嵌入Java代码,实现动态内容生成。 - `css`、`js`、`images`等:静态资源,如样式表、JavaScript文件和图片,直接提供给浏览器。 ...

    java-web-project

    2. **JSP(JavaServer Pages)**:JSP是一种动态网页技术,允许开发者在HTML页面中嵌入Java代码,实现视图层与逻辑层的分离。JSP会被编译为Servlet,然后由Web服务器执行。 3. **Spring框架**:Spring是Java Web...

    rbe.rar_The Web

    Jetty的主要特点包括小巧、快速、可嵌入、模块化和易于配置。它的设计使得开发者可以轻松地将Jetty集成到现有项目中,而无需依赖外部服务器环境。 二、Servlet容器 Servlet容器是运行Servlet程序的软件,它接收HTTP...

    01_javaweb_javaweb开发_specialdrp_java编程_ArtReviewservlet_

    2. **JSP(JavaServer Pages)**:一种动态网页技术,可以嵌入Java代码,方便页面的动态生成。 3. **JSTL(JavaServer Pages Standard Tag Library)**:标准标签库,简化JSP中的业务逻辑表达。 4. **MVC(Model-...

Global site tag (gtag.js) - Google Analytics