Actions on Google Java/Kotlin 项目使用教程
1. 项目的目录结构及介绍
actions-on-google-java/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── com/
│ │ │ │ ├── example/
│ │ │ │ │ ├── MyAction.java
│ │ │ │ │ └── ...
│ │ │ │ └── ...
│ │ │ └── ...
│ │ └── resources/
│ │ ├── config.properties
│ │ └── ...
│ └── test/
│ ├── java/
│ │ ├── com/
│ │ │ ├── example/
│ │ │ │ ├── MyActionTest.java
│ │ │ │ └── ...
│ │ │ └── ...
│ │ └── ...
│ └── resources/
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
├── pom.xml
└── ...
目录结构介绍
src/main/java/
:包含项目的所有Java源代码文件。src/main/resources/
:包含项目的配置文件和其他资源文件。src/test/java/
:包含项目的所有测试代码文件。src/test/resources/
:包含测试所需的资源文件。.gitignore
:指定Git版本控制系统忽略的文件和目录。LICENSE
:项目的许可证文件。README.md
:项目的说明文档。pom.xml
:Maven项目的配置文件。
2. 项目的启动文件介绍
项目的启动文件通常是src/main/java/com/example/MyAction.java
。这个文件包含了项目的主要逻辑和入口点。
package com.example;
import com.google.actions.api.App;
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("/action")
public class MyAction extends HttpServlet {
private App app = new App();
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
app.handleRequest(req, resp);
}
}
启动文件介绍
MyAction
类继承自HttpServlet
,用于处理HTTP请求。@WebServlet("/action")
注解指定了Servlet的URL映射。doPost
方法用于处理POST请求,调用app.handleRequest
方法处理请求。
3. 项目的配置文件介绍
项目的配置文件通常位于src/main/resources/config.properties
。这个文件包含了项目的各种配置参数。
# 配置文件示例
app.id=my-app-id
app.secret=my-app-secret
配置文件介绍
app.id
:应用的ID。app.secret
:应用的密钥。
这些配置参数可以在代码中通过读取配置文件的方式获取。
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
public class Config {
private static Properties properties = new Properties();
static {
try (FileInputStream fis = new FileInputStream("src/main/resources/config.properties")) {
properties.load(fis);
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getAppId() {
return properties.getProperty("app.id");
}
public static String getAppSecret() {
return properties.getProperty("app.secret");
}
}
通过这种方式,可以在代码中方便地获取配置文件中的参数。