平心而论写java还是比较舒服的,很严谨,严谨自然有严谨的好处,Spring的组件层层堆积,到了自己手里已经蛮人性化了,当然,前提是你不用去搭架整个web框架……
上一次搭SpringMVC大概花了一整个周末,用的Freemarker和Mybatis来处理页面和持久化问题,顺便发现了一个java爬虫的好轮子,就是webMagic
https://github.com/code4craft/webmagic
搭建起来之后,又想随大流弄个分布式学一下Hadoop,于是花了不少时间给自己弄了一个伪分布式的东西。然后我特么就悲剧了,各种A依赖B,B依赖C,D依赖B,E依赖C,C依赖A,然而我特么只是依赖A和D,其他的B、C、E版本根本不一致我的maven项目冲突的简直像一战时的萨拉热窝 = _ =,于是就放下了。中间一个多月一直在寻摸着找一个五讲四美的好青年教他前端然后把画页面的活都扔掉自己去专心写爬虫。
上周入职之后又开始动手把那个烂成一锅粥的项目给捡了起来,准备重构一下,开始用了口袋自己的ApiServlet,结果它和SpringMVC的默认Servlet冲突,如果想要画页面必须约定一个超级蛋疼的url分配方式,没办法只好又用回DispatcherServlet,哎,我就是不愿意自己徒手实现一个。
从今天算起大概花了四天,从操作系统到IDE都换了,勉强把原来的项目梳理了起来,幸亏也没几行代码。
具体改动就是为了和公司保持一致,不用freemarker改用velocity做视图解析器;考虑到我买的阿里云主机配置低的令人发指,放弃了MySql,暂时不考虑入库操作,毕竟九块九一个月……
下面简单说一下问题,这几个问题都是在windows和Ubuntu上面没出现过的:
1.遇到了controller初始化时找不到class的问题,因为忘记在controller下面的方法给参数加上@Requestprama注解,比较搞笑的是这个报错是递归的=_=,也就是controller 的class not found because controller calss not found because controller class not found;2.发现VelocityLayoutViewResolver默认在渲染页面的时候需要加载一个layout.vm,不得不从vmp抄了一个过来;3.出现了maven jar包拉不下来的问题,因为电脑为了翻墙设置了XX-net代理,导致intellj无法联网;4.遇到了get请求参数在controller接受出现乱码的问题,需要手动修改tomcat的conf/server.xml文件,加入编码格式。
这就是那个坑爹的递归错误:
SpiderApiController] for bean with name 'spiderApiController' defined in file [/Users/liushuqing/Documents/lsq/tools/apache-tomcat-7.0.65/webapps/ROOT/WEB-INF/classes/com/liushuqing/Controller/api/SpiderApiController.class]; nested exception is java.lang.ClassNotFoundException: com.liushuqing.controller.api.SpiderApiController
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)