码迷,mamicode.com
首页 > 编程语言 > 详细

IDEA community + Gradle + Gretty 调试 servlet 应用

时间:2018-04-07 21:02:53      阅读:473      评论:0      收藏:0      [点我收藏+]

标签:protect   内容   http   任务   start   blog   如何   项目结构   edit   

---恢复内容开始---

参考:https://guides.gradle.org/building-java-web-applications

打包war只需要Gradle面板中选择build.build任务即可,就不详细说了,下面主要说如何调试

 

IDEA创建gradle项目,项目结构如下

技术分享图片

各个文件:

build.gradle

// https://guides.gradle.org/building-java-web-applications
plugins {
    id ‘java‘
    id ‘war‘
    id ‘org.akhikhl.gretty‘ version ‘1.4.2‘
}

group ‘ServletDemo‘
version ‘1.0-SNAPSHOT‘

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    // https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api
    providedCompile group: ‘javax.servlet‘, name: ‘javax.servlet-api‘, version: ‘3.1.0‘
    testCompile group: ‘junit‘, name: ‘junit‘, version: ‘4.12‘
}

HelloServlet.java

package servlets;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "HelloServlet", urlPatterns = {"hello"}, loadOnStartup = 1)
public class HelloServlet extends HttpServlet {
    int i = 0; // Servlet "persistence"

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        response.getWriter().print("Hello, World! " + i++);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name = request.getParameter("name");
        if (name == null) name = "World";
        request.setAttribute("user", name);
        request.getRequestDispatcher("response.jsp").forward(request, response);
    }
} ///:~

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Servlet Demo</title>
</head>
<body>
    <p>Say <a href="hello">Hello</a></p>
    <form method="post" action="hello">
        <h2>Name:</h2>
        <input type="text" id="say-hello-text-input" name="name" />
        <input type="submit" id="say-hello-button" value="Say Hello" />
    </form>
</body>
</html>

response.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Hello Page</title>
    </head>
    <body>
        <h2>Hello, ${user}!</h2>
    </body>
</html>

然后点击左侧的Gradle面板,选择任务gretty.appRun就可以启动app,通过localhost:8080访问

如果要 调试,那么在Gradle面板中选择任务gretty.appRunDebug,启动该任务后,选择Run->Edit Configurations 然后添加一个Remote Run/Debug,如下图,名为DebugServletDemo,根据gretty官方文档,默认debug port是5005,所以这里填好host和port

技术分享图片

然后在Gradle面板中启动任务gretty.appRunDebug,如下图Run选项卡中所示,在5005端口等待Debugger的连接

技术分享图片

接下来再启动Run->Debug->DebugServletDemo,如下图Debug选项卡中所示,Debugger已连接上5005端口

技术分享图片

此时再次查看Run选项卡,会发现其中内容如下,点击该http链接开始调试

技术分享图片

IDEA community + Gradle + Gretty 调试 servlet 应用

标签:protect   内容   http   任务   start   blog   如何   项目结构   edit   

原文地址:https://www.cnblogs.com/qrlozte/p/8734512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!