1.开发环境:
- JDK:1.8
- Gradle:4.3.1
- OS:Windows 7
2.步骤
(1)手动创建目录结构(译者注:官方给出的教程为手动创建,所有我不清楚是否可以使用插件自动创建)。你创建的目录结构应该和如下相同(根目录可以不一样,此处是webdemo,你可以根据情况命名):
webdemo/
src/
main/
java/
webapp/
test
java/
解释:所有的Servlet和Java源文件放在src/main/java
中,所有的测试文件放在src/test/java
中,所有的web相关文件放在src/main/webapp
中。
(2)在更目录下(我们这里是webdemo)创建build.gradle文件,并在其中输入下列代码:
plugins {
id 'java'
id 'war'
}
repositories {
jcenter()
}
dependencies {
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
testCompile 'junit:junit:4.12'
}
详细细节可以参考官方手册或使用搜索引擎查阅。
(3)在src/main/java下编写一个Servlet(译者注:为了是教程简单,此处和官方不一样,具体情况参考官方手册)。创建一个HelloServlet.java文件,键入下列代码:
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 = {"/"}, loadOnStartup = 1)
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("msg", "HelloWorld!");
request.getRequestDispatcher("response.jsp").forward(request, response);
}
}
注意:根据Servlet3.0规范,web项目可以不再需要web.xml文件,相反可以通过注解的方式配置Servlet,上面的urlPatterns表示处理根路径的请求映射。
(4)在src/main/webapp
目录下创建response.jsp文件,键入下列代码(译者注:这一步同样和官方不一样):
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<h2>${msg}</h2>
</body>
</html>
(5)通过gretty插件运行创建的web项目(官方教程提到,jetty插件不再推荐使用,由于历史原因,有的文档使用的还是jetty,此处需要留言),修改build.gradle文件关于插件的代码:plugins {
id 'java'
id 'war'
id 'org.akhikhl.gretty' version '1.4.2'
}
(6)通过命令行运行项目:
gradle appRun
运行成功后会给出一个url:
http://localhost:8080/webdemo
由于前面创建的servlet处理根路径映射,所以直接在浏览器地址栏中输入上面的地址,你应该能看到输出了HelloWorld!字符串。
(7)官方除了上面的内容外,还涉及了如何书写测试代码,如果需要请参考官方手册。