注:本来应该前的发,不过过年没有心思管博客了,另外网络也不是很方便,我想可以帮助大家了解一下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进行一些封装,跟后台的代码做一些融合,也不需要增加多少额外的东西,是可以减少很多重复的代码,会节省很多时间。

2015年度总结--javaWeb的更多相关文章

  1. 2015年度新增开源软件排名TOP100

    2015年度新增开源软件排名TOP100 本榜单包含2015年开源中国新收录的软件中,根据软件本身的关注度.活跃程度进行排名前100名的软件.从这份榜单中或许可以了解到最新业界的趋势. 1.Switc ...

  2. 《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖

    <Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在< ...

  3. 2016年1月编程语言排行榜:Java荣获2015年度冠军

    Java因于2015年人气增幅最大(+ 5.94%),故获得2015年的TIOBE指数的编程语言奖,同时成为15年年度冠军, Visual Basic.NET(+ 1.51%)和Python(+ 1. ...

  4. 2015 年度新增开源软件排名 TOP 100 - 开源中国社区

    2015 年度新增开源软件排名 TOP 100 - 开源中国社区 39.ABTestingGateway http://www.oschina.net/news/69808/2015-annual-r ...

  5. 2015年度总结--android开发

    虽然农历年才是新的一年的开始,不过关于中西文化的问题这里就不讨论了,所谓“男女平权,公说公有理,婆说婆有理;阴阳合历,你过你的年.” 看到很多朋友在发年度总结,于是想想这一年我都在干什么呢,也总结一下 ...

  6. 解读Gartner《2015年度新兴技术成熟度曲线报告》

    详细见:http://www.360doc.com/content/16/0209/16/26186435_533443133.shtml 今年的报告评估了112个领域超过2000项新型技术的市场类型 ...

  7. Theoretical & Applied Mechanics Letters第2届编委会2015年度第1次全体编委会工作会议纪要(转自力学学会)

    2015年7月26日, Theoretical & Applied Mechanics Letters (TAML)第2届编委会在中国科学院力学研究所召开2015年第1次 全体编委工作会议.主 ...

  8. 2015年度新增开源软件排名TOP 100,EasyDarwin开源流媒体服务器排名第17

    本榜单包含 2015 年开源中国新收录的 5977 款开源软件中,根据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中或许可以了解到最新业界的趋势. 榜单详情:http://www ...

  9. 2015 年度新增开源软件排名TOP100

    本榜单包括 2015 年开源中国新收录的 5977 款开源软件中,依据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中也许能够了解到最新业界的趋势. 1.SwitchyOmega ...

随机推荐

  1. 【LeetCode】Increasing Triplet Subsequence(334)

    1. Description Given an unsorted array return whether an increasing subsequence of length 3 exists o ...

  2. 表单多文件上传样式美化 && 支持选中文件后删除相关项

    开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进 ...

  3. Keil环境中建立带FreeRTOS的STM32L项目

    本文是网上转载,版权所有. Keil环境中建立带FreeRTOS的STM32L项目 1.先把source文件夹复制至project目录,然后在keil中添加RTOS文件,如图: 其中heap_2.c按 ...

  4. C#使用iTextSharp给PDF添加水印

    代码: /// <summary> /// 添加普通偏转角度文字水印 /// </summary> public static void SetWatermark(string ...

  5. Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数

    dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...

  6. linux 共享内存 shmat,shmget,shmdt,shmctl

    shmget int shmget(key_t key, size_t size, int flag);//开辟一段共享内存 key_t key :标识符的规则() size_t size :共享内存 ...

  7. [moka同学笔记]七、Yii2.0课程笔记(魏曦老师教程)[新增管理员,重置密码]

  8. Linux(Centos)之安装Redis及注意事项

    1.redis简单说明 a.在前面我简单的说过redis封装成共用类的实现,地址如下:http://www.cnblogs.com/hanyinglong/p/Redis.html. b.redis是 ...

  9. CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案

    一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...

  10. window下 Sublime Text 3 安装

    1.下载 官网 http://www.sublimetext.com/ 安装时,注意勾选Add to explorer context menu,这样Sublime Text可以被添加到右键中,在右键 ...