注:本来应该前的发,不过过年没有心思管博客了,另外网络也不是很方便,我想可以帮助大家了解一下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. 读取SD卡文件夹下的MP3文件和播放MP3文件

    首先获取SD卡path路径下的所有的MP3文件,并将文件名和文件大小存入List数组(此代码定义在FileUtils类中): /** * 读取目录中的Mp3文件的名字和大小 */ public Lis ...

  2. Extjs4.0以上版本 Ext.Ajax.request请求的返回问题

    Ext.Ajax.request({ url: posturl, method: 'POST', params: { ClassName: 'XXXX', FuncName: 'XXXX', para ...

  3. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

  4. IIS事件查看器_WebServer事件查看器_帮助查看IIS-Web服务器事件执行日志

    IIS服务器是我们常用的Web站点部署工具,而我们有时可能遇到IIS服务器的应用程序池莫名其妙的关闭了,或者是其他未知原因等等,我们这是可以通过微软提供的WebServer(Web服务事件查看器),来 ...

  5. SQL语句分组排序,多表关联排序

    SQL语句分组排序,多表关联排序总结几种常见的方法: 案例一: 在查询结果中按人数降序排列,若人数相同,则按课程号升序排列? 分析:单个表内的多个字段排序,一般可以直接用逗号分割实现. select ...

  6. DES加密中文乱码问题的解决

    服务器向客户端返回时: response.setContentType("text/json; charset=utf-8"); 客户端解码时: return new String ...

  7. 复杂的xml转化为java实体

    一.样例一: 以根据订单号向支付宝查询支付是否成功为例(成功信息) 失败信息: <?xml version="1.0" encoding="utf-8"? ...

  8. 【grunt整合版】30分钟学会使用grunt打包前端代码

    grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...

  9. #9.5课堂JS总结#循环语句、函数

    一.循环语句 1.for循环 下面是 for 循环的语法: for (语句 1; 语句 2; 语句 3) { 被执行的代码块 } 语句 1 在循环(代码块)开始前执行 语句 2 定义运行循环(代码块) ...

  10. css(一)

    CSS CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 一 css的四种引入方式 1.行内式          ...