记自己的第一个完整的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 ...
随机推荐
- [PHP] constant variable
print: 3.13 PI 3.14
- glog日志
google 开源日志库 #include <glog/logging.h> yum install glog
- 6. Manage the driver for browser and the script for Hub
- JMeter Ant Task 生成的*.jtl打开之后request和response data是空的,怎样让其不是空的呢?
JMeter Ant Task 生成的*.jtl打开之后request和response data是空的,怎样让其不是空的呢?修改JMeter.properties,将jmeter.save.save ...
- Java NIO系列教程(十)DatagramChannel
Java NIO系列教程(十)DatagramChannel 转载自并发编程网 – ifeve.com,本文链接地址: Java NIO系列教程(十) Java NIO DatagramChannel
- 换行符在HTML中直接替换为<br>
#set($text=$!obj.getMeasure().replaceAll("\r\n","<br>")) <td a ...
- 【commons-httpclient】Java中HttpClient工具访问Web请求
注意jar包是: HttpClient工具使用 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程 ...
- 项目解析1、登录验证用户是否存在 储备知识 Python 之 decorator装饰器
下面是我对 装饰器 这一小节的总结, 以及自己的理解. 注:[本文中的代码参考上述教程] 很多时候我会把Python的很多语法与C++相融合,在C++中,函数的名称即为函数的地址,我们可以通过定义成为 ...
- 2018.07.27 bzoj3064: Tyvj 1518 CPU监控(线段树)
传送门 线段树好题. 维护区间加,区间覆盖,区间最大,区间历史最大. 这个东西在国家集训队2016论文集之<区间最值操作与历史最值问题--杭州学军中学 吉如一>中讲的已经很详细了. 简单来 ...
- IoC的基本概念
一.什么是IOC ioc是一个英文缩写,英文全称是 Inversion of Control,翻译过来是“控制反转”.理解好Ioc的关键是要明确“谁控制谁,控制了什么,为何是反转,哪些方面反转了” 谁 ...