|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为能用到多少功能就用多少,不能用就不用!总的来说:要简单要性能好,可以不用框架。你说java复杂,就是因为你把java(j2ee)与这些框架混在了一起。js|计划jsp计划形式
一:先容
记得初学jsp的时分,总喜好把他和asp,php往对照,也习气于利用asp的开辟形式往写jsp,厥后才发明这真是很傻的做法,实在jsp一出了来就已用MVC形式了。上面我就扼要说说jsp计划利用MVC来计划。
二:MVC先容
MVC实际上是模、视图、把持的缩写,也就是说在利用jsp时,有响应的文件往完成响应的操纵。一般jsp只卖力view也就是只卖力显现页面。营业逻辑等有bean(ejb)往完成。上面会商的是不利用ejb的情形下完成。假如利用ejb,ejb卖力M.C一般会由servlet往完成。大概利用struts.
struts的先容你但是往http://jakarta.apache.org/struts往看。今后的文章中我会先容。
三:计划思绪
当你构建一个Application时。你必需思索界面的成绩,而界面修正长短常寻常的。假如你在jsp中完成一切的操纵,一旦修正界面你贫苦年夜了。美工不懂jsp的,你必需本人往修正有数个文件,头不要太年夜,而此时一样平常工夫都很紧,利用MVC则能够削减你的一些贫苦。
在计划时分jsp只卖力显现页面,也就是说jsp挪用Bean(Struts,servlet)传过去的数据然后显现而Bean(Struts,servlet)卖力搜集jsp必要的数据,用ArrayList(Arttibute)传给jsp。假设必要提交表单,一样平常也间接提交给Struts,servlet,处置后今后再前往处置信息。而个中响应的营业逻辑由Bean往完成。
四:Bean的计划
在我利用时分Bean一般有三类,分离manager,entry,database目次上面。
manager上面的bean做贸易逻辑
entry下的bean就是封装数据,实在就是每一个数据库表对应会有一个bean。jsp失掉的也全体是类。
database下的bean就是操纵数据库,实行如insert,update,delete,load(查询一笔记录),
batchload(查询多笔记录)。
他们之间的干系是entry卖力封装数据,作为database的挪用参数,前往了局。
manager挪用database处置的了局。manager和jsp通讯。jsp失掉的了局从manager来,jsp必要做操纵挪用manager,即便是一个insert在database存在如许的办法但在manager中你仍是必要再封装一次。如许做的目标是使布局只管复杂。database只卖力操纵数据库。manager只做逻辑(取响应的数据)处置响应的逻辑,而entry则只把database取到的数据封装,或则把页面失掉的参数封装,做为参数传给响应的Bean.
五:计划实例
上面我把留言板作为实例来会商:
entry/Guestbook.java(留言板对象)
database/GuestbookMap.java(更新,删除,修正留言板)
manager/GuestbookManager.java(处置一切的事件)
数据表布局(postgresql)
createsequenceseq_guestbookincrement1;
/**序列号天生器**/
createtableguestbook(
idint8defaultnextval(seq_guestbook),/**主键**/
titlevarchar(64),/**主题**/
bodytext,/**内容**/
sayidint8,/**讲话人**/
toidint8,/**承受人**/
saytimedatetimedefaultnow(),/**留言工夫**/
newflgsmallintdefault1/**是不是检察过**/
);
Guestbook.java
=======================
importjava.util.*;
publicclassGuestbook(){
privateintid;
privateStringtitle;
privatebodytitle;
privateintsayid;
privateintsayid;
privateDatesaytime;
privateshortnewflg;
publicGuestbook(){
}
publicintgetId(){
returnthis.id;
}
publicvoidsetId(int_id){
this.id=_id;
}
........
(满是get/set办法)
}
GuestbookMap.java
==============================
importGuestbook;
publicclassGuestbookMap(){
publicGuestbookMap(){
}
publicGuestbookload(intid){
//取到一条guestbook
}
//sqlstr查询前提
//orderstr排序前提
//rcdbegin纪录入手下手
//rcdend纪录停止
//
publicArrayListbatchLoad(Stringsqlstr,Stringorderstr,intrcdbegin,intrcdend){
//ArrayList内里封装了Guestbook
}
publicvoidinsert(Guestbookinfo){
}
publicvoidupdate(Guestbookinfo){
}
publicvoiddelete(intid){
//取到一条guestbook
}
publicintgetRcdNums(Stringsqlstr){
//取纪录条数
}
}
GuestbookManager.java
依据必要封装必要的办法,这部分才是你要写的
=============================
下面的体例entry,database的文件能够主动天生,这个工具我已开辟了,假如必要接洽我。你必要写的就是GuestbookManager内里的办法,你大概会以为事情量比你一切的操纵都在jsp中年夜,可是如许布局十分明晰。你还必要的就是写一个数据库毗连池,你一切的数据库操纵都从一个中央取,每次都往毗连数据库开支很年夜的。
六:手艺上风
1:布局明晰
2:保护便利
3:回护代码对照好。
..........
七:停止语
我只是复杂的先容一下,详细的利用你必要在实践使用中堆集,假如必要我的代码参看,接洽我,假如你以为写的和狗屎,十分欠好意义,华侈了你可贵的工夫。
手机用到的是用j2me所编出来的小程序。 |
|