记自己的第一个完整的java web项目
我是从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项目的更多相关文章
- Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...
- 做一个完整的Java Web项目需要掌握的技能[转]
转自:http://blog.csdn.net/JasonLiuLJX/article/details/51494048 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目 ...
- 做一个完整的Java Web项目需要掌握的技能
最近自己做了几个JavaWeb项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java Web项 ...
- 一个完整Java Web项目背后的密码
前言 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java ...
- Java Web项目发布及使用自定义域名
详细讲解的网址: http://wenku.baidu.com/link?url=-ACZxKUcfrbhrMRUP3Ov-Q_c-Q9JPrA9D1fzHjHuJsWwZfRsVDVQ2qBtoY7 ...
- java web项目答辩答辩题总结(书本网上语言答辩+自己的语言答辩)
答辩每个人的总分为1.5分.每个人主要问3个问题. 开发流程===>系统架构====>项目模块+功能===>项目得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- Java Web项目 配置 ueditor心得
近期的JAVA项目,由于客户要求需要引入富文本编辑器. 参考了两款插件,一款是ckeditor,一款是ueditor. ckeditor在上传文件的时候必须配合ckfinder使用,而ckfinder ...
- 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
http://jijiaa12345.iteye.com/blog/1739754 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程 本文是一篇在Myeclipse下构建Jav ...
随机推荐
- laravel创建控制器
一.创建 php artisan make:controller Admin/IndexController 二.目录 app/Http/Controllers/ 控制器存储目录 [ C控制器 ]
- Jmeter将HTTP request报文体中的字符串转换为大写
<awd><client id='${__javaScript("${IndividualID}".toUpperCase())}'><member ...
- highcharts点击事件系列
http://www.highcharts.com/demo/line-ajax 参考设置(bar 柱状图) plotOptions: { series: { ...
- 2、C++
2.2定义变量 2.2.1命名规则 赋予变量的名称叫做标识符,或者更方便地称之为变量名.变量名可用字母(包括大小写),数字,以及下划线,其他字符不允许.以下划线或者字母开头.在Visual C++20 ...
- java判断字符串是否为数字,包括负数
/** * 判断是否为数字,包含负数情况 * @param str * @return */ private boolean isNumeric(String str){ Boolean flag = ...
- HDU 1513 && POJ 1159 Palindrome (DP+LCS+滚动数组)
题意:给定一个字符串,让你把它变成回文串,求添加最少的字符数. 析:动态规划是很明显的,就是没有了现思路,还是问的别人才知道,哦,原来要么写,既然是回文串, 那么最后正反都得是一样的,所以我们就正反求 ...
- python nan 变成0
在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误.这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值. numpy.nan_t ...
- 一)如何开始 ehcache ?
官网地址 http://www.ehcache.org/ 从哪开始 第一步优先下载 http://www.ehcache.org/downloads/ 下载 Ehcache 2.10.0 .tar.g ...
- 在 web 容器中运行 cxf
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC &q ...
- Android在layout xml中使用include[转]
在Android的layout样式定义中,可以使用xml文件方便的实现,有时候为了模块的复用,使用include标签可以达到此目的.例如: <include layout="@layo ...