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进行一些封装,跟后台的代码做一些融合,也不需要增加多少额外的东西,是可以减少很多重复的代码,会节省很多时间。
2015年度总结--javaWeb的更多相关文章
- 2015年度新增开源软件排名TOP100
2015年度新增开源软件排名TOP100 本榜单包含2015年开源中国新收录的软件中,根据软件本身的关注度.活跃程度进行排名前100名的软件.从这份榜单中或许可以了解到最新业界的趋势. 1.Switc ...
- 《Unix/Linux网络日志分析与流量监控》获2015年度最受读者喜爱的IT图书奖
<Unix/Linux网络日志分析与流量监控>获2015年度最受读者喜爱的IT图书奖.刊登在<中华读书报>( 2015年01月28日 19 版) 我的2015年新作刊登在< ...
- 2016年1月编程语言排行榜:Java荣获2015年度冠军
Java因于2015年人气增幅最大(+ 5.94%),故获得2015年的TIOBE指数的编程语言奖,同时成为15年年度冠军, Visual Basic.NET(+ 1.51%)和Python(+ 1. ...
- 2015 年度新增开源软件排名 TOP 100 - 开源中国社区
2015 年度新增开源软件排名 TOP 100 - 开源中国社区 39.ABTestingGateway http://www.oschina.net/news/69808/2015-annual-r ...
- 2015年度总结--android开发
虽然农历年才是新的一年的开始,不过关于中西文化的问题这里就不讨论了,所谓“男女平权,公说公有理,婆说婆有理;阴阳合历,你过你的年.” 看到很多朋友在发年度总结,于是想想这一年我都在干什么呢,也总结一下 ...
- 解读Gartner《2015年度新兴技术成熟度曲线报告》
详细见:http://www.360doc.com/content/16/0209/16/26186435_533443133.shtml 今年的报告评估了112个领域超过2000项新型技术的市场类型 ...
- Theoretical & Applied Mechanics Letters第2届编委会2015年度第1次全体编委会工作会议纪要(转自力学学会)
2015年7月26日, Theoretical & Applied Mechanics Letters (TAML)第2届编委会在中国科学院力学研究所召开2015年第1次 全体编委工作会议.主 ...
- 2015年度新增开源软件排名TOP 100,EasyDarwin开源流媒体服务器排名第17
本榜单包含 2015 年开源中国新收录的 5977 款开源软件中,根据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中或许可以了解到最新业界的趋势. 榜单详情:http://www ...
- 2015 年度新增开源软件排名TOP100
本榜单包括 2015 年开源中国新收录的 5977 款开源软件中,依据软件本身的关注度.活跃程度进行排名前 100 名的软件.从这份榜单中也许能够了解到最新业界的趋势. 1.SwitchyOmega ...
随机推荐
- 1.Struts2简介和Struts2开发环境搭建
一.Struts2简介: 1.什么是Struts2? 著名的SSH三大框架分别为:表现层(Struts).业务逻辑层(Spring),持久化层(Hibernate). Struts2是在WebWork ...
- Azure Application Gateway (2) 面向公网的Application Gateway
<Windows Azure Platform 系列文章目录> 本章将介绍如何创建面向公网的Application Gateway,我们需要准备以下工作: 1.创建新的Azure Reso ...
- SQL Server在哪里存放DMV的数据?
我被反复问到的一个问题是,通过各个DMV和DMF返回的数据,SQL Server在哪里存放? 很多人认为这类数据会存放在像mater这样的系统数据库里.但事实并非如此.各个系统数据库(master和m ...
- linux中的通配符与正则表达式
在linux中,有通配符及正则表达式,那么什么是通配符和正则表达式,什么时候用? 通配符 它是由shell解析,并且一般用于匹配文件名,实际上就是shell解释器去解析的特殊符号,linux系统通 ...
- Python解析非标准JSON(Key值非字符串)
采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的 ...
- 7.6 数据注解特性--StringLength
StringLength attribute can be applied to a string type property of a class. EF Code-First will set t ...
- C# foreach 中获取索引index的方法
方法一: int i = 0; foreach (var item in arr) { i++; } 方法二: foreach (var item in arr) { int index = arr. ...
- should be mapped with insert="false" update="false
SSH项目出现了 should be mapped with insert="false" update="false 错误,仔细检查后发现,是两个不同的属性映射了表中的 ...
- [译]Godot系列教程三 - 场景实例化(续)
场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...
- 一元多项式的乘法与加法运算(C语言)
输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式: 输出分2行,分别以指数递降方 ...