diff --git a/README.md b/README.md
index 68987d25baa30e97571877db856b214583093694..1649761651af4fe8df280a3aa9cf891e0cb233c8 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,159 @@
-
-
-
-
-
-
-# zoom
-轻量级java web开发框架。既能使用java的强大功能,又能具有php的开发效率。
+# zoom-web
-# 概述
+zoom-web 是一个小型的 MVC 框架,旨在提高开发效率,提供简洁的 API,特别是在数据库操作方面。
-框架特色:
+## 项目文件结构
-+ 本框架以约定为主要的编码规范,通过一系列针对web开发过程中的各个概念做出规范,限定文件和目录的组织结构,能大大减少沟通和查找时间,提高开发效率。
-+ 速度快,学习成本低。只要掌握几个概念就可以开工了。
-+ 超爽的api,尤其涉及到数据库.
++ `src`
+ + `com.yourcompany.pack` - 项目源码目录
+## 配置
+zoom-web 使用约定优于配置的原则,简化了开发过程。主要的配置可以通过 `@Inject` 注解完成,用于依赖注入。
+## Module
+Module 是配置的核心,通过 `@Module` 注解定义。例如,可以使用 `@ApplicationModule` 来标记应用的主配置模块。
+## Controller 控制器
+Controller 是处理 HTTP 请求的核心组件。所有 Controller 必须放在 `controllers` 包下,并通过 `@Controller` 注解来定义。
+### 路由
+`@Controller` 的 `key` 属性与 `@Mapping` 或方法名称共同确定处理的 URL 路由。例如:
+```java
+@Controller(key = "/")
+class MyController {
+ @Mapping("")
+ public String index() {
+ return "hello world";
+ }
+ public String sayHello() {
+ return "sayHello";
+ }
+}
+```
+上面的 Controller 创建了两个 URL:
+
+```
+/
+/sayHello
+```
+
+### @Mapping
+
+`@Mapping` 注解的 `value` 属性指定了本方法映射的路径,`method` 属性指定了本方法能够处理的 HTTP 方法。如果未指定 `method`,则表示能处理所有 HTTP 方法。
+
+### PathVariable 路径参数
+
+在 URL 中可以包含参数,如 `{id}`,表示该方法接收参数化 URL:
+
+```java
+@Mapping("/{id}")
+public String user(@Param(pathVariable = true) String id) {
+ return "hello world";
+}
+```
+
+## 方法参数
+
+zoom-web 支持多种方法参数,如 `HttpServletRequest`, `HttpServletResponse`, `HttpSession` �1.
+
+## View
+
+### json 输出
+
+在方法上标注 `@JsonResponse` 可以进行 JSON 输出:
+
+```java
+@Controller(key = "/")
+class MyController {
+ @JsonResponse
+ public String index() {
+ return "hello world";
+ }
+}
+```
+
+### 模板输出
+
+未标注 `@JsonResponse` 的方法返回值将被视为模板路径,用于渲染模板:
+
+```java
+@Controller(key = "/")
+class MyController {
+ public String index() {
+ return "user/index";
+ }
+}
+```
+
+## Model
+
+Model 通常与数据库操作相关,zoom-web 提供了丰富的数据库操作支持。
+
+## Action 拦截器
+
+可以通过 `ActionInterceptorFactory` 配置 Action 拦截器,用于在请求前后执行特定逻辑:
+
+```java
+@Inject
+public void configActionInterceptor(ActionInterceptorFactory factory) {
+ // 配置拦截器
+}
+```
+
+## 示例
+
+zoom-web 提供了多个示例,展示如何使用框架进行开发:
+
+```java
+@Controller(key = "/user")
+public class UserController {
+ @JsonResponse
+ public void index() {
+ // JSON 输出示例
+ }
+
+ @JsonResponse
+ public void put(
+ Integer id,
+ Date date,
+ String name,
+ short age
+ ) {
+ // JSON 输出示例
+ }
+
+ public static class LoginRequest {
+ private String account;
+ private String password;
+
+ public String getAccount() {
+ return account;
+ }
+
+ public void setAccount(String account) {
+ this.account = account;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+ }
+}
+```
+
+## 总结
+
+zoom-web 通过约定和注解的方式简化了 Web 开发,提供了快速的开发体验和高效的数据库操作 API。通过合理的模块化设计和拦截器机制,zoom-web 能够支持复杂的业务需求,并且保持代码的清晰和可维护性。
\ No newline at end of file