Jetty(一)Gradle构建web项目

本文介绍如何使用IntelliJ IDEA配合Gradle和Jetty搭建一个简单的Java Web应用程序。通过示例代码展示了Jetty服务器的启动过程及FirstServlet的具体实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

InterlliJ + Gradle + Jetty + Java + Web

1.JettyServer.java

package com.mind.server;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;

public class JettyServer {

    public static void main(String[] args) throws Exception {
        Server server = new Server(8030);

        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
        context.setContextPath("/");
        server.setHandler(context);

        // http://localhost:8030/hello
        context.addServlet(new ServletHolder(new FirstServlet()), "/hello");
        // http://localhost:8030/hello/web
        context.addServlet(new ServletHolder(new FirstServlet("this is my web")), "/hello/web");

        try {
            server.start();
            server.join();
        } finally {
            server.destroy();
        }
    }
}

2.FirstServlet.java

package com.mind.server;

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;

public class FirstServlet extends HttpServlet {
    private String msg = " Hello World!";

    public FirstServlet() {
    }

    public FirstServlet(String msg) {
        this.msg = msg;
    }

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

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

    private void process(HttpServletRequest request,
                         HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        String title="Webapp Demo";
        out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
        out.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
        out.println("<head>");
        out.println("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />");
        out.println("<title>" + title + "</title>");
        out.println("<body>");
        out.println("<h1>" + this.msg + "</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}

运行结果:


gradle

配置build_gradle:

group 'gradle-idea-demo1'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'war'

sourceCompatibility = 1.5

repositories {
    mavenCentral()
}

dependencies {
    // 导入本地的依赖包
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile group: 'junit', name: 'junit', version: '4.11'

    // 从maven仓库导入依赖
    compile 'org.eclipse.jetty.aggregate:jetty-webapp:7.6.15.v20140411'

}

项目地址:https://github.com/Minhowe/gradle-idea-demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VCHH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值