2015年度总结--javaWeb

注:本来应该前的发,不过过年没有心思管博客了,另外网络也不是很方便,我想可以帮助大家了解一下javaweb吧。

之前的文章中说到,由于要做手机端安卓程序,所以开始使用java。实际上大部分的java程序都是放在浏览器上,也就是web应用,所以当然要看看java怎么开发web项目了。

实际上很多编程语言都提供web支持,因为web开发需求量实在是很多,我之前是学asp.net,后来又看过python的django。

之前用asp.net的时候并没有很好的理解web开发技术,因为有很多服务器端组件,后来asp.net也有mvc的开发模式,不过我是通过django对mvc有了比较直观的了解。

因此我就想通过java来实现,实际上基本上都是差不多的,view都是html、css之类,mould也基本上差不多,control的代码是java代码,另外页面模板是使用的jsp、需要了解el表达式。

不过java中比较麻烦的地方是,要对不同的框架进行组合,不像asp.net和django,都已经集成好了。

一开始组合这些框架就遇到不少麻烦,首先要下载jar包,然后一开始不知道怎么配置就不停的报错,以至于我都放弃了不玩了。

另外,我发现eclipse很不好用,错误提示就很不友好,不像visual studio只提示真正出错的地方,后来换成Intellij Idea感觉好多了,起码错误提示可以把用户代码和框架代码区分开来。

经过无限报错解决完错误以后,这种通过手动加入jar包的方式,javaWeb的框架就可以运行起来了,然后就可以用来开发项目了。

后来公司也确实有项目中用到了,公司人手不够,于是我就跑去搞web项目了,框架什么的倒是没有什么问题,只是时间上冲突了,搞得很郁闷,不过通过这个项目对javaweb更熟悉了,也写了一些比较复杂的sql语句,消除了之前对sql语句的"恐惧感"。

再后来看到公司其他做web开发同事,是使用maven来构建项目,于是我又学习了一下怎么用maven来构建项目,这样在拷贝代码的时候就不会拷贝很多的jar文件。

在一个web项目中服务器端的部分,java能提供非常好的支持,也有很多现成的东西可以用。但感觉在处理前端网页的时候,觉得有很多不足的地方,我做的那个项目,只有美工提供的静态页面,然后其他的东西都是由开发人员来处理。

目前有很多地方做web项目,采用前后端分离的方式,之前发过一个ReactNative的文章,就有一些做前端开发的朋友来加我的qq,于是我又去了解了一下前端开发。

前端我的理解就是用html、js来编写一个应用,通过ajax的方式从服务器获取数据,然后做后端开发的同学就只管提供json格式的数据就可以了。

前端开发有一套比较完整的方案,比如先要在本地运行一个web服务器,然后开发的时候修改了目录中的代码,服务器可以即时更新;代码在发布的时候需要合并压缩,这样加载更快;angularjs可以提供前端的模板,这个模板比jsp的模板要好,因为可以动态更新,这是服务器端模板做不到的;另外,angularjs提供的功能,可以让页面模块化,对于提高开发效率是很有好处的;css也有一些优化的方案,less、sass。

这里值得一提的就是angularjs,我在web项目中并没有用angularjs,在用html5开发手机应用的时候,看到ionic,这个是使用angularjs的,在用ionic做手机应用的时候,大概对angularjs也有一些了解了。

angularjs学起来并不容易,有很多新的概念,实际使用的时候总会遇到一些问题。不过对于提高开发效率确实是很有帮助的。

再说说我做的那个web项目吧,从页面上看有很多表格,每个表格都要有导出excel的功能。于是我就去找了一个表格控件flexgrid。使用表格控件倒是没什么问题,就是把表格的头部都定义好,添加请求数据的url,在后台返回固定格式的数据个表格控件就可以了。

但由于时间上冲突了,我没有去管后来的工作,如果有很多表格,每个表格的信息都去手动定义,效率是很低的,后台返回数据的代码也有很多都是重复的。这样开发的时候耽误时间,维护也很麻烦。

如果多想一下,对flexgrid进行一些封装,跟后台的代码做一些融合,也不需要增加多少额外的东西,是可以减少很多重复的代码,会节省很多时间。

上一篇:【Nutch2.2.1基础教程之1】nutch相关异常


下一篇:实战经验分享之C#对象XML序列化