Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >适配器模式

适配器模式

作者头像
汤高
发布于 2018-01-11 09:20:58
发布于 2018-01-11 09:20:58
77800
代码可运行
举报
文章被收录于专栏:积累沉淀积累沉淀
运行总次数:0
代码可运行

思想: 写一个抽象类继承HttpServlet,在这个类中加入通用功能。 以后所有的servlet类都继承自这个 类。 以达到扩展Servlet的功能.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.yc.web.servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.google.gson.Gson;
import com.yc.bean.JsonModel;
import com.yc.utils.CommonData;
/**
 * 这个类是一个抽象类,主要用于增强Servlet的功能,在这个类中 所有的servlet都有的功能
 * @author Administrator
 *  1.输出json数据的功能
 * 设计模式  :适配器模式
 *
 */
public abstract class CommonServlet extends HttpServlet {
    protected int rows=10;
    protected int page=1;
    protected String sort;
    protected String order="asc";







    @Override
    protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
            throws ServletException, IOException {
        if(arg0.getParameter("rows")!=null){
            rows=Integer.parseInt(arg0.getParameter("rows"));
        }

        if(arg0.getParameter("page")!=null){
            page=Integer.parseInt(arg0.getParameter("page"));   
            }

        if(arg0.getParameter("sort")!=null){
            sort=arg0.getParameter("sort");
        }

        if(arg0.getParameter("order")!=null){
            order=arg0.getParameter("order");
        }
        super.service(arg0, arg1);
        }







    public void outData(HttpServletResponse response ,JsonModel jm) {
        //通过 response对象获取输出流,将数据returnvalue输出到客户端
        response.setContentType("text/plain;charset=utf-8");//plain 表示普通文本
        PrintWriter out=null;




        try {


            out=response.getWriter();
             Gson  gson=new Gson();
            String returnvalue=gson.toJson(jm);


            out.println(returnvalue);

            System.out.println(returnvalue);

            out.flush();

        } catch (IOException e) {

            e.printStackTrace();
        }finally{
            out.close();
        }
    }

    public void outData(HttpServletResponse response ,Object jm) {
        //通过 response对象获取输出流,将数据returnvalue输出到客户端
        response.setContentType("text/plain;charset=utf-8");//plain 表示普通文本
        PrintWriter out=null;




        try {


            out=response.getWriter();
             Gson  gson=new Gson();
            String returnvalue=gson.toJson(jm);


            out.println(returnvalue);

            System.out.println(returnvalue);

            out.flush();

        } catch (IOException e) {

            e.printStackTrace();
        }finally{
            out.close();
        }
    }






}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-10-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
您在开发AI运动小程序或APP时,可能会面这样的需求场景,比如:人像必须全部入镜、站立远近要求检查、用户做某个动作开始/停止运动识别、内置运动不满足场景需求需要扩展新运动项目等等,这些都需要用到自定义姿态动作识别检测,插件提供了基于规则配置和姿态相似度比较两种姿态识别检测方案,本章将先为您介绍基于规则配置方案,姿态相似度比较方案和自定义运动扩展将在后续章节为您介绍。
alphaair
2025/04/22
1550
【一步步开发AI运动APP】八、自定义姿态动作识别检测——之姿态相似度比较
上一篇为您介绍了通过配置检测规则,来实现自定义姿态动作的检测分析,基于规则配置的姿态动作检测,需要开发者仔细分析动作再编写规则,工作量相对较大。为减轻开发者的工作量,插件姿态识别引擎pose-calc还提供了一个姿态相似度比较器,能对两个人体结构的进行比较,给出两上姿态的整体和分部相似度评分。
alphaair
2025/04/24
760
【一步步开发AI运动APP】一、写在最前
在我们的小程序系列中,收到较多的私信咨询有:“为什么插件体积这么大”、“能否提高检测精度”、“高帧率如何处理”、“能否同时检测多人”等问题,这些问题大部分都是受限小程序运行时环境,无法实现或实现后体验不佳。
alphaair
2025/03/18
940
【一步步开发AI运动APP】六、运动计时计数能调用
通过前几篇博文,您已经可以通过插件在APP上进行抽帧、人体检测了,在获得到人体结构后,便可以进行运行分析实现人体计时计数了,uniAPP插件同微信小程序一样,仍然内置了跳绳、开合跳、俯卧撑、仰卧起坐、深蹲(深蹲起)、平板支撑、马步蹲等多个常见运动,可以满足健身、线上赛事、学生体测等场景需求,若有个性运动定制需求,也可以使用插件提供的pose-calc姿态分析检测接口,进行自定义扩展,后续章节再向您介绍。
alphaair
2025/04/03
1390
【一步步开发AI运动APP】六、运动计时计数能调用
【一步步开发AI运动APP】五、人体检测能力调用
识别并检测图像中的人体结构,是开展运动分析检测、姿态分析以及姿态交互场景应用前不可或缺的前置步骤。为了满足不同场景和需求,APP版本插件精心提供了多种人体检测模式,包括“高性能”模式以满足快速响应的需求,“高精度”模式以确保检测结果的准确无误,以及“多人检测”模式以应对复杂场景中的多人识别挑战。相较于小程序版本,APP版本插件不仅提供了更为丰富的性能配置参数,让用户能够根据实际需求进行灵活调整,还省去了模型部署的繁琐步骤,实现了更便捷、更高效的集成体验。
alphaair
2025/04/01
730
【一步步开发AI运动APP】五、人体检测能力调用
【一步步开发AI运动APP】二、跨平台APP AI运动识别方案介绍
本系列开发指南选用了「云智AI运动识别」系列插件中的uni-app APP版作为识别引擎。这款插件专为基于uni-app框架开发的APP量身打造,提供了本地原生(非云端依赖)的AI人体识别、精准姿态识别、运动识别计时计数等核心能力。其应用场景广泛而多样,无论是AI赋能的健身系统、线上运动赛事、学生体质测试的便捷化实施,还是轻量级AR体感游戏的创新体验、美体锻炼的个性化指导,乃至康复锻炼的科学化辅助,都能轻松应对,助力开发者快速上线以上应用场景的APP,占领AI辅助运动市场。
alphaair
2025/03/20
1790
【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景
uni-APP版插件与小程序AI运动识别插件一样,当前都内置了跳绳、开合跳、俯卧撑、仰卧起坐、卷腹、深蹲(深蹲起)、平板支撑、马步蹲、坐位体前屈等丰富的运动项目,所有运动项目都按相应的运动规范标准进行适配,足够应付AI键身、线上运动赛事活动、团建打卡、AI体测等多种应用场景。
alphaair
2025/06/09
710
【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景
【一步步开发AI运动APP】三、在APP中引入识别插件
使用的「AI运动识别插件」引擎,已托管到DCloud插件市场,为什么标准的uni-modules模块,同时支持uni-app和uni-app x两个框架。
alphaair
2025/03/25
520
【一步步开发AI运动APP】四、使用相机组件抽帧
使用过uni开发过APP的开发者,应该了解在uni-app和uni-app x的APP模式下,不像小程序模式下有原生Camera组件可以使用操控相机,需要引入第三方插件或自行实现相机的预览、拍照、抽帧、录像等能力。
alphaair
2025/03/27
830
能不能用uni开发一个线上运动会的APP、小程序?
在数字化时代,移动应用开发已成为企业数字化转型的重要一环。uni-app作为一款使用Vue.js开发所有前端应用的框架,凭借其出色的跨平台性能,迅速成为开发者们的首选。uni-app不仅支持生成iOS、Android的原生应用,还能一键发布为H5、小程序、快应用等多端应用,极大地提高了开发效率和应用覆盖率。这意味着,使用uni-app开发线上运动会的APP和小程序,将能够覆盖更广泛的用户群体,实现无缝的跨平台体验。
alphaair
2024/11/25
1490
十七、如何识别用户上传视频中的人体、运动、动作、姿态?
通过本系列博文的前16篇文章,您已了解通过插件开发一个完整的运动、健身、学生体测、云上运动会等小程序的完整流程了,但是系列之前的文章都是基于相机实时取像的,有的开发者就会问,既然可以实现基于摄像头实时识别,那么能否实现用户上传视频识别呢?今天我们就来看看如何实现基于用户上传视频的运动、动作、姿态检测识别。
alphaair
2024/06/11
3010
十一、人体关键点跳跃追踪
在适配诸如跳绳、开合眺或动作交互类场景时,需要追踪某些关键点的变化趋势,插件的关键点跳跃追踪能力PointTracker可以追踪指定的关键点的x或y轴变化,趋势变化时将记录变化临界轴值。
alphaair
2024/05/30
1740
七、进行运动计时、计数
插件关于姿态、运动检测的能力,都包含在calc和sports两个命名空间下。其中sports命名空间下包含了所有的内置运动分析器类和运动检测相关计时、计数的核心逻辑抽象;calc命名空间下包含了人体姿态分析的角度、垂直、水平、视角等规则计算器、姿态相似度和关键点追踪等能力,sports也是基于此能力实现。
alphaair
2024/05/23
1270
AI运动小程序开发常见问题集锦一
在技术支持资料包中,提供有指南、API参考等文档,建议在集成工作开始前,通读文档并结合Demo项目熟悉基本的应用流程。
alphaair
2024/09/19
1790
AI运动小程序开发常见问题集锦一
十五、AI运动识别中,如何判断人体站位的远近?
在进行运动和姿态识别时,离摄像头太近,则无法取得全身关键点;若离摄像头太远,则人体图像太小,关键点将混成一团,识别效果太差,如下图所示:
alphaair
2024/06/05
2880
【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
当我们根据应用场景重新调整内置运动检测参数或者扩展了新运动项目,发布小程序、APP后,若在运行时发现运动参数不合适需要调整时,便需要重新发布小程序或者APP,这个发布过程需要耗费短则几个小时,长则一两天;不便于运营。
alphaair
2024/11/12
580
【一步步开发AI运动小程序】二十一、如果将AI运动项目配置持久化到后端?
十二、自定义一个运动分析器,实现计时计数01
阅读到此,您已经对运动识别的抽帧、人体识别、骨骼图绘制、姿态识别检测环节有所了解了,接下了几章我们将以俯卧撑为例,带您了解一下如何适配一个运动,实现计时、计数。
alphaair
2024/05/30
1890
十八、如何识别用户上传图片中的人体、运动、动作、姿态?
上一篇文章,为您分享了如何对用户选择(上传)的视频,进行人体检测识别,并进行姿态分析、运动计数等实现。今天我们继续为您分享如何对用户上传(选择)图片,进行人体检测及姿态运动分析。同视频识别检测原理相似,只要拿到用户上传或选择的图片RGBA数据,即可进一步进行人体识别、姿态、运动分析等,如下图所示:
alphaair
2024/06/13
2190
做AI运动小程序有哪些解决方案,如何进行选型?
要实现AI运动计时、计数,要解决主要技术问题有:视频抽帧、视频人体检测、姿态识别、计时计数算法,其中最主要的也是技术前提的便是人体识别检测,实现上面的技术,便是一个完整的AI运动解决方案了。
alphaair
2024/04/19
2940
十六、AI运动识别中,如何判断人体站位?
上一篇我们介绍了运动识别中,如何实现对人与摄像头的远近预检,以提供识别率和体验。在我们实际的运动应用场景中,为了准确识别到相关运动的关键姿态点,一般会指定视角,如跳绳、开合跳需要面或背朝相机,而且像俯卧撑、仰卧起坐则需要左右侧对像相机,以获得最佳的识别率和体验。
alphaair
2024/06/06
2390
推荐阅读
相关推荐
【一步步开发AI运动APP】七、自定义姿态动作识别检测——之规则配置检测
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验