我是从asp.net平台转到java平台的。基于asp.net平台开发网站的快速便捷性,工作几年来大小网站多少也写了6、7个。但是转到java后,因为是在一家大公司,而且做的功能也比较单一,局限于此,一直未能使用java来写一个web站点。后来正好大学同学从事淘宝电商,让我帮他弄一个网站,所以我就想到了使用java来开发这个站点,正好练手一下java顺便也是使用一下bae,因为很早之前就接触到了BAE,但是问题在于无法部署asp.net的网站,所以只好作罢,这次正好是一个难得的机会。
    考虑到当前这家公司的网站使用的框架是从一个网站开速开发的手脚架而来的,所以我私下花了一些时间来学习了一下这个框架和它的自动代码生成器,然后就构建了这么一个网站。总的来说,感触多的是使用java来写web项目,只要工具使用得当,开发效率也是大大的高。只是诟病在于总是各种配置spring配置、struts2的配置、数据连接池的配置、orm的配置等等。而且对于踏入java中没有多少人来指导的我来说,很多第一次碰到的错误,都得通过自己一遍一遍的查阅来解决,多少有些心酸。
    闲话说完了,那么现在开始剖析一下我的这个网站吧。网站是部署在BAE上的,一个淘宝信誉查询的网站http://www.taoxiaosha.com 网站已经死了好久每天pv180左右。
    在asp.net中建站,使用一些新的orm时,我们会提到一些名词,比如dbfirst or codefirst
那么在当前的工作下,我先手动建立好需要的数据表,自然就是dbfirst了,然后通过上面提到的代码自动生成工具来生成我们选择的架构的相关代码。啥意思呢,就是这个代码生成器可以根据你自己的需要生成基于SSI或SSH等架构。我选用的是SSI架构,那么代码生成后的树结构如下:

网站结构通俗易懂。这个就是生成的代码结构,个人感觉大项目也好,小项目也罢,都比较适合这种架构了,至少目前在我接触到的应用范围中。项目中给我们生成了实体,javabean,基础数据访问层,数据业务逻辑层。以及我们的action。当然我自己因为业务的需要增加了一个servlet层。那么通过这么一个架构,就实现了java web项目的实现。

这个网站是做淘宝信誉查询的,那么自然少不了抓淘宝数据的功能了,抓淘宝数据使用的jsoup。jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。之前在asp.net中抓百度知道和新浪问答的时候使用过HtmlAgilityPack。两者都是功能异常强大,不过前者是有点类似jquery中的选择器来获取dom节点, 而后者则是通过强大的xpath来实现数据抓取。

最后介绍完了就说下我使用的web开发框架:

该项目主页:http://code.google.com/p/rapid-framework

这个当中有附带自动代码生成器,稍加研究、修改,就能定制一个属于自己的代码生成器了。

记自己的第一个完整的java web项目的更多相关文章

  1. Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...

  2. 做一个完整的Java Web项目需要掌握的技能[转]

    转自:http://blog.csdn.net/JasonLiuLJX/article/details/51494048 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目 ...

  3. 做一个完整的Java Web项目需要掌握的技能

    最近自己做了几个JavaWeb项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java Web项 ...

  4. 一个完整Java Web项目背后的密码

    前言 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java ...

  5. Java Web项目发布及使用自定义域名

    详细讲解的网址: http://wenku.baidu.com/link?url=-ACZxKUcfrbhrMRUP3Ov-Q_c-Q9JPrA9D1fzHjHuJsWwZfRsVDVQ2qBtoY7 ...

  6. java web项目答辩答辩题总结(书本网上语言答辩+自己的语言答辩)

    答辩每个人的总分为1.5分.每个人主要问3个问题. 开发流程===>系统架构====>项目模块+功能===>项目得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静 ...

  7. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  8. Java Web项目 配置 ueditor心得

    近期的JAVA项目,由于客户要求需要引入富文本编辑器. 参考了两款插件,一款是ckeditor,一款是ueditor. ckeditor在上传文件的时候必须配合ckfinder使用,而ckfinder ...

  9. 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程

    http://jijiaa12345.iteye.com/blog/1739754 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程 本文是一篇在Myeclipse下构建Jav ...

随机推荐

  1. PAT 1083 是否存在相等的差(20)(代码+思路)

    1083 是否存在相等的差(20 分) 给定 N 张卡片,正面分别写上 1.2.--.N,然后全部翻面,洗牌,在背面分别写上 1.2.--.N.将每张牌的正反两面数字相减(大减小),得到 N 个非负差 ...

  2. 客户关系管理系统CRM

    http://www.cnblogs.com/Michael2397/tag/SSH%E9%A1%B9%E7%9B%AE-CRM/   客户关系管理系统

  3. BZOJ1106[POI2007]立方体大作战tet - 树状数组

    描述 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n个不同的编号,每个编 ...

  4. json.dumps错误:'utf8' codec can't decode byte解决方案-乾颐堂

    一次在使用json.dumps()过程中,出现错误提示: ERROR:"UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in ...

  5. Mockplus微信小程序上线!扫一扫轻松查看原型!

    Mockplus团队发布了Mockplus微信小程序. 从现在起,你无需下载Mockplus移动端,用微信扫一扫二维码,即可在微信中打开并查看原型.Mockplus微信小程序,无需安装.卸载,不占用手 ...

  6. 动态加载页面 通过src

    <img src="a.jpg"> 通过js  改变 src 路径 如action  路径, 注意 action 配置问题.

  7. 客户被绑,蒙眼,惊问:“想干什么?” 对方不语,鞭笞之,客户求饶:“别打,要钱?” 又一鞭,“十万够不?” 又一鞭,“一百万?” 又一鞭。客户崩溃:“你们TMD到底要啥?” “要什么?...

    1.  客户被绑,蒙眼,惊问:“想干什么?”     对方不语,鞭笞之,客户求饶:“别打,要钱?”     又一鞭,“十万够不?”     又一鞭,“一百万?”     又一鞭.客户崩溃:“你们TMD ...

  8. Django基础(二)

    https://www.cnblogs.com/yuanchenqi/articles/5716193.html

  9. SharpMap源代码解析

    1. 简介 SharpMap是基于.net2.0的GIS系统.支持多种.NET开发语言(C# C++ 等).使用属性数据作为注记.符合OpenGIS的简单要素规范(OpenGIS Simple Fea ...

  10. 【转】Android贪吃蛇源代码

    /*TileView:tile有瓦片的意思,用一个个tile拼接起来的就是地图.TileView就是用来呈现地图的类*/ public class TileView extends View { /* ...