所在的位置: js >> js优势 >> 山东橙果科技p2p项目

山东橙果科技p2p项目

1.JavaWeb经典三层结构

咱们常说的三层结构是由JavaWeb提出的,也便是说这是JavaWeb独有的!

所谓三层是表述层(WEB层)、业务逻辑层(BusinessLogic),以及数据访问层(DataAccess)。

(1)WEB层:包含JSP和Servlet等与WEB相关的内容;

(2)业务层:业务层中不包含JavaWebAPI,它只关怀业务逻辑;

(3)数据层:封装了对数据库的访问细节;

2.IE浏览器向服务器发恳求无非便是获取数据服务器会交给相应的servlet来处理,servlet交给service来处理,

service会交给dao,dao专门与数据库交互取得数据,取出的数据用目标来封装,service调dao的办法,这样

dao经过回来值将取得的数据回来给service;这个时分service就拿到了javabean,service对数据进行一顿操作,

然后将操作的数据封装到另一个javabean中,经过办法的回来值,将成果回来给servlet,servlet将取得的数据

交给jsp,(比如说将javabean放到域里边,jsp从域里拿出javabean做显现),jsp显现履行,用户就可以看到要获取

的数据了;

3.为了将来便于维护,咱们在层与层之间界说接口

4.ThreadLocal其实是维护了一个map,被一切线程同享,每一个线程都可以往里边存数据(key,value),

而且数据(key,value)中的Key便是当前线程,ps:线程与线程之间在这个map中存的数据阻隔;

5.json在web层做浏览器与服务器之间的数据传递很流行.这个json数据是目标的封装

6.便是:第一步:Listlist=newArrayList();

第二步:session.setAttribute(list,list);

第三步:list.add(book);

第四步:从session中获取book可以获取到吗?

也便是说刚开始list放入session时,list是空的,然后我给list增加东西,那么最后这个session中的list数据也更新了,也便是说,你可以从session中拿到list在拿到book,尽管我没有验证,但的确更新了,

下面我试着解释一下这个现象:由于一切的目标都是一个实体,咱们平时的变量都是对目标实体的引证,这儿的list仅仅对newArrayList()这个实体的引证(或者说是一个指针指向),当咱们把list放入session时,实践是把newArrayList()的指针list放到session中了,这个时分其实session其实是newArrayList()的二级父指针,而list是ArrayList()的一级父指针,所以两个都可以对它进行操作;

7.关于数据传递:

层间传递:数据个数大于三个就树立bean目标,用bean目标传递

web层和浏览器间传递:

浏览器的表单数据要转成json发送ajax给服务器,服务器将数据封装成bean目标

服务器给浏览器发送数据,要先转成json,然后在json端,用eval()解析;

ps:表单的error信心应该封装到一个bean中,假如是整个页面刷新就存到session中

假如是ajax刷新,就转成json发送给浏览器

8.注意用没有业务时dao层的的CRUD的操作履行时要传入conn

9.外部js文件导入必定要在结束标签之前放置

10.bean类必定要给无参构造

11.ajax恳求方式,恳求发送到servlet,但在servlet中似乎无法完成页面重定向,

可是在客户端的回掉函数中可以使用:location.href=/p2p_home/space.jsp;来完成重定向;

12.关于ajax传参问题,由于这个时分在浏览器端页面没有域目标,所以只能经过servlet的response将数据回来的客户端,

这数据传递就存在一个打包问题,根据这两天敲代码的经历:可以树立一个result类,来封装要回显的信息,然后将数据

封装到一个map中,map的key是这个回显信息项的称号,value是这个回显信息项,这样可以在浏览器端取得多个回显信息

可是要注意一点:可能需要给map中的内容初始化,以便浏览器端js代码对回显data的操作;

13.关于层间数据传递问题,假如数据个数大于三个,比较主张封装成bean目标,由于层间传递就应该是用bean目标来传递;

14.关于web层内部数据传递,当然是用域目标比较便利;

15.web层和浏览器端数据传递,假如是文本数据当然用字符流;假如对错文本,用字节省比较合适;

假如是文本数据,而且是ajax恳求,那么一般用bean来封装原始数据,而且用JSONObject.toJSONString(原始数据),将bean目标

转化为json数据类型(字符串)来传递数据;在浏览器端,咱们用varjson=eval((+data+));来解析回来的数据;这个json

便是一个dom目标;在js中就便于操作了;

16.在浏览器端,咱们多经过表单向服务器发送数据,使用:varjson=$(#loginForm).serializeJson();来将表单数据转化为

json数据,传递给服务器,servlet来解析,使用:BeanUtils.populate(customer,request.getParameterMap());来将浏览器端

传过来的json数据进行bean封装;这样就便于使用java来处理了




转载请注明:http://www.aierlanlan.com/grrz/1956.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了