diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..b151697
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml
new file mode 100644
index 0000000..e270b55
--- /dev/null
+++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..d30d09e
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..b94e445
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EasyCaptcha.iml b/EasyCaptcha.iml
new file mode 100644
index 0000000..889624d
--- /dev/null
+++ b/EasyCaptcha.iml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index d454972..129965c 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,134 @@
# EasyCaptcha
-JavaWeb图片验证码,支持gif验证码,可用于RESTful风格的项目
+JavaWeb图形验证码,支持gif验证码,可用于基于的session的web项目和前后端分离的项目。
+
+## 效果展示
+![验证码](http://115.159.40.243:8080/EasyWeb/image/captcha?codeKey=a)
+
+
+## 导入项目
+### gradle方式的引入
+需要先在project的build.gradle中添加:
+```
+allprojects {
+ repositories {
+ maven { url 'https://jitpack.io' }
+ }
+}
+```
+在项目的build.gradle中添加
+```
+dependencies {
+ compile 'com.github.whvcse:JwtPermission:1.1.0'
+}
+```
+
+### maven方式引入
+```xml
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+
+
+ com.github.whvcse
+ JwtPermission
+ 1.1.0
+
+
+```
+
+### jar包下载
+[EasyCaptcha-1.1.0.jar](https://github.com/whvcse/EasyCaptcha/releases)
+
+## 使用方法
+### 快速使用
+1.在web.xml里面加入如下配置:
+```xml
+
+
+ CaptchaServlet
+ com.wf.captcha.servlet.CaptchaServlet
+
+
+ CaptchaServlet
+ /image/captcha
+
+```
+2.前端代码
+```html
+
+```
+
+### 在*SpringMVC*中使用
+如果你不想使用项目提供的servlet,可以使用controller的形式实现,方法也很简单,代码如下:
+```java
+@RequestMapping("/images/captcha")
+public void captcha(HttpServletRequest request, HttpServletResponse response) {
+ CaptchaUtil captcha = new CaptchaUtil();
+ try {
+ captcha.out(request, response);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+}
+```
+前端代码:
+```html
+
+```
+
+### 前后端分离中使用
+验证码一般都是保存在session中的,但是在前后端分离的项目中,不推荐使用session存储,可使用如下方式:
+```java
+@RequestMapping("/images/captcha")
+public void captcha(String key, HttpServletRequest request, HttpServletResponse response) {
+ CaptchaUtil captcha = new CaptchaUtil();
+ try {
+ captcha.out(key, request, response);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+}
+```
+与前面的使用区别就在于多了一个key,使用的时候需要前端生成一个随机key传递过来,服务器是已这个key为名字存储在servletContext中的,取的时候需要根据这个key取值。
+
+前后端分离也同样可以使用框架自带的servlet,使用方式如下:
+```html
+
+
+
+```
+
+### 判断验证码是否正确
+基于session存储的判断:
+```java
+CaptchaUtil captcha = new CaptchaUtil();
+if (captcha == null || !captcha.ver(code, request)) {
+ return JsonResult.error("验证码不正确");
+}
+```
+前后端分离方式的判断:
+```java
+CaptchaUtil captcha = new CaptchaUtil();
+if (captcha == null || !captcha.ver(key, code, request)) {
+ return JsonResult.error("验证码不正确");
+}
+//此处的key便是生成的时候传递的key
+```
+
+
+### 参数设置
+#### 设置宽高和位数
+```java
+//三个参数分别是宽、高、位数
+CaptchaUtil captcha = new CaptchaUtil(130, 38, 5);
+```
+#### 修改存储时候的key
+```java
+CaptchaUtil captcha = new CaptchaUtil();
+captcha.setCodeName("captcha");
+```
+默认存在session中是以captcha为key存储的,存储在servletContext中是以captcha-xxx为key存储的,xxx是生成的时候前端传递的key。
\ No newline at end of file