搜索
java - 如果你的同事这样使用Spring MVC,你该怎么办
阿神
阿神 2017-04-17 14:42:14
[Java讨论组]
    @RequestMapping(value="foo")
    public void funcCreate(HttpServletRequest request,
            HttpServletResponse response){
        try {
            String code = request.getParameter("code");
            String name = request.getParameter("name");
            String parentId = request.getParameter("parentId");
            String funcIcon = request.getParameter("funcIcon");
            String url = request.getParameter("url");
            String funcIndex = request.getParameter("funcIndex");
            
            SysFunction sysFunc = new SysFunction();
            sysFunc.setCode(code);
            sysFunc.setName(name);
            if (StringUtils.isNumeric(parentId)){
                sysFunc.setParent_id(Integer.parseInt(parentId));
            }
            sysFunc.setUrl(url);
            sysFunc.setIconName(funcIcon);
            sysFunc.setFuncIndex(funcIndex);
            sysService.addFunc(sysFunc);
            
            ajaxReturn(response, Constants.OPERATE_SUCC);
        } catch (Exception e) {
            log.error("系统功能创建异常!", e);
            ajaxReturn(response, Constants.OPERATE_FAIL);
        }
    }

    public void ajaxReturn(HttpServletResponse response,
            String content){
        if (content == null){
            return;
        }

        try {
            response.setCharacterEncoding("utf-8");
            response.setBufferSize(content.length() * 4);
            PrintWriter writer = response.getWriter();
            writer.write(content);
            writer.flush();
            writer.close();
        } catch (IOException e) {
        }
        
    }

我是不是该建议直接使用Servlet

补充:2015年8月11日09:09:57
情况是这样的,同事是经理认可的经验丰富的程序员(亲口跟我说的),我才是后辈

补充:2015年12月11日11:36:11
其实从大家的讨论可以看到,这样的代码是自己的编码习惯所致,可是在团队开发中,这样的习惯好吗?

阿神
阿神

闭关修行中......

全部回复(12)
怪我咯

就像@kikong所说的,使用方法没有对错。
当我做的时候,再获取参数的时候。我可能比你的同事更加夸张,我会自己把HttpServletRequest封装一遍,然后在Controller中使用的是我封装过的Request。
而其实SpringMVC是支持直接在方法中参数列表中获取Parameter的,所以也可以用SpringMVC的这个特性。
至于我为什么会选择上面那种,只是我不希望我的代码会依赖框架,自己获取参数自己可以把握,而且你可以在自己封装的Request获取参数之前做一些其它事情,比如去空格等等。而这样带来的后果就是,开发效率可能没有直接用SpringMVC高。至于怎么用,每个人都有每个人的喜好

PHPz

应该是传说中的一年经验用十年的那种,如果要用框架就要充分利用框架的特性为自己省事,要不就干脆不要用好了,classpath还少个几个jar包,war包都小点:)

怪我咯

先假设吧,这种方式比起框架自带的注解参数有什么好处呢?效率更高吗?注解的确会牺牲一部分效率,但题主的这个代码位置真的会因为使用注解就导致太多效率问题吗(而且Spring MVC自己还有来缓和注解的效率问题的手段啊)?如果不会,那就只能假设是因为他丰富的经验并不在Spring MVC上面,人家其他框架或者其他其他语言上牛的一笔也说不定。无论都牛,也总会有盲区的。不知者无罪,题主可以和他聊聊,于你于他都会有好处的,当然谈话方式上可能需要些技巧。
回答里面有提到用什么是人家的自由,如果他敲自己的代码那完全没有问题,但作为大家一起敲你就需要考虑其他人了,如果你们整个公司都是这样写Spring的那就呵呵了。既然用了框架就应该尽量发挥框架的特性,框架有的东西如果还自己用ugly code去实现,其他开发者看来也是相当不舒服的,是不是也应该照顾其他开发者的习惯呢?
如果他的牛逼体现其他地方那么项目经理就应该把他安排到他牛逼的地方,否则是不是可以理解为安排失误。
有很多是约定俗成的东西,找不到合适的理由,你再牛逼也得去遵守,如果你能创造一套规则那另当别论,不用给自己不愿去学习新东西找借口。做开发这行就是这样。

阿神

我也是这么过来的,都是一个程序员的成长过程,你为啥要鄙视初出道的后辈呢?你应该做的是引导他如何使用好……

天蓬老师

同意楼上,一个好老师很重要

大家讲道理

你们沟通下,相互交流下吧~~~~
使用方法无关对错~~~~

大家讲道理

看到一楼的回复,我想说其实springmvc有一个注解可以帮你过滤参数的
框架存在就是为了让开发更快更爽,写出问题了这种代码的人就是异端

怪我咯

这并不能说明什么,只能说明他不懂spring的那一套东西,亦或者不懂POJO之类的,所以写的靠近servlet了

PHPz

除非他真的有什么原因这样写,否则还是劝他不要。我认为即使是一个大牛,也还是要与时俱进的,比如java的很多新特性,你难道一直不用吗?你再牛能牛过java的设计者们吗?国外的大牛肯定都是与时俱进的

阿神

反正这种获取参数的方式是被spring mvc支持的,可能是个人编程习惯的原因

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号