diff --git a/net.html b/net.html index 982eb8703..f3536cbc7 100644 --- a/net.html +++ b/net.html @@ -31,7 +31,7 @@

        RedKale自实现的HTTP服务接口并不遵循Java EE规范JSR 340(Servlet 3.1),RedKale提倡的是HTTP+JSON的服务接口方式因此没有实现JSP规范,HTTP+JSON服务接口几乎适合所有类型的客户端(PC应用程序、PC Web、微信H5、移动APP、移动Web)开发。其与JSR 340(Servlet 3.1)的主要区别如下:
                1、内置参数的JSON反序列化和响应结果的序列化接口。
                2、对数值型的参数和header值提供简易接口。
-                 3、不支持JSP,提倡的是HTTP+JSON的服务接口方式。
+                 3、不支持JSP,提倡的是HTTP+JSON接口方式。
                4、无HttpSession对象,session可通过配置CacheSource实现。
                5、内置文件上传接口,且可自实现断点续传。
                6、对响应结果内容可以进行短期缓存从而减少数据源操作的压力。
@@ -101,7 +101,7 @@ }

        继承BasedHttpServlet的子类可以使用其自带的鉴权、请求分支、缓存等功能, 一个典型的操作用户HttpServlet:

-
@WebServlet({"/user/*"}) //拦截所有 /user/ 开头的请求
+            
@WebServlet({"/user/*"})  //拦截所有 /user/ 开头的请求
 public class UserServlet extends BaseSerlvet {
 
     @Resource
@@ -138,6 +138,24 @@
         UserInfo user = service.findUserInfo(Integer.parseInt(req.getRequstURILastPath()));
         resp.finishJson(user);  //输出用户信息
     }
+
+    //更新个人头像
+    @WebAction(url = "/user/updateface")
+    public void updateface(HttpRequest req, HttpResponse resp) throws IOException {
+        UserInfo user = service.current(req.getSessionid(false));
+        for (MultiPart part : req.multiParts()) { //遍历上传文件列表 
+            byte[] byts = part.getContentBytes(5 * 1024 * 1024L);  //图片大小不能超过5M,超过5M返回null
+            if (byts == null) {
+                resp.finishJson(new RetResult(102, "上传的文件过大"));
+            } else {
+                BufferedImage img = ImageIO.read(new ByteArrayInputStream(byts));
+                //... 此处处理并存储头像图片
+                resp.finishJson(RetResult.SUCCESS);  //输出成功信息
+            }
+            return; //头像图片仅会传一个, 只需要读取一个即可返回
+        }
+        resp.finishJson(new RetResult(103, "没有上传图片"));
+    }
 }

        如上,所有/user/前缀的请求都会进入UserServlet,若没匹配的则返回505错误,为了方便以后编写前方静动分离服务器转发规则,比较好的习惯是将项目中所有动态Servlet加一个固定前缀,在 application.xml 里设置path即可。

<server protocol="HTTP" port="6060" root="root">