Web 开发

 1.Web开发, ( 通信 )

统一资源定位符: ( URL ) , 例如 : http://www.acm.org ( http 表明使用超文本传输协议 ( HTTP ). 端口 : 例如 8080 . Broswer 与 Web server ( Tomact ) 使用 HTTP 协议 .

2.HTTP Get , Post 方法

         在B/S应用程序中,前台与后台的数据交互,都是通过Html中Form表单完成的.

Get :

URL 改变,在URL 里显示 HTML Form 参数的 name/value 值。

只适合有少量参数的 HTML Form,因为 URL 长度有字符限制,不能无限长。

涉及安全性的信息,比如用户密码,不能用 get,因为会在 URL 上显示,不安全。

这里的URL改变是指,地址栏中的请求发生改变,例如:

http://www.baidu.com/s?wd=hello&rsv_bp=0&rsv_spt=3&inputT=840

当在baidu中输入hello,进行查找时,提交后,URL变成如上形式.

Post :

URL 不改变,不在 URL 里显示 HTML Form 的数据。

Form 提交的信息没有长度限制。

涉及安全性的信息,如用户密码,应采用 post 方式

 

在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:
( 1 ).get方法通过URL请求来传递用户的输入。post方法通过另外的形式. get是从服务器上获取数据,post是向服务器传送数据
( 2 ).get方式的提交你需要用Request.QueryString来取得变量的值,而post方式提交时,你必须通过Request.Form来访问提交的内容。Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“& amp;”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。Get是Form的默认方法.

( 3 ). 一般来说,尽量避免使用Get方式提交表单,因为有可能会导致安全问题。比如说在登陆表单中用Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中,用Get方式就比用Post好。

( 个人 ) Get方法的速度应该快于 Post方法 .

3.Browser 与 Web server 连接

         Browser <---> Web Server <--> Database Server .

注意 : 在客户端与Web服务器之间不存在持续的连接, 当WEB服务器接收到一个请求,一个连接就会暂时被创建,用于向WEB服务器发送请求和接收响应。然后该连接关闭了,而下一个请求生成一个新的连接。与此相反,当某个用户登陆到计算机或者使用ODBC / JDBC 连接数据库时,一个会话会被创建。会话信息保留在服务器和客户端,直到会话结束。HTTP是无连接的一个重要原因在于,如果WEB中大量的节点都打开了连接,就会超过限制,而拒绝后续用户的服务请求。而使用无连接服务,当满足了请求时连接就会马上断开,为其他请求留出可用连接。但是,大多数基于WEB的信息服务需要会话信息,以允许有意义的用户交互。例如:需要验证用户身份,权限等等。每次会话只需要进行一次验证,会话中进一步的交互将不必重新验证。尽管连接会关闭,但为了达到这样的会话要求,需要在客户端存储额外的信息,而且这些信息在一次会话的每个请求中都必须返回到服务器端,使服务器能辨别一个请求是否是一个用户会话的一部分。关于会话的额外信息同样必须在服务器端维护。这种额外信息通常以cookie的形式保存在客户端;简单来说,一个cookie是一小段包含标识信息的文本,并关联一个名字。( 服务器段的 servlet 提供了一个确认 getSession 的方法 , 可以确定 session 是否继续存在, 例如getSession(false), getSession()/getSession(true) , 其中 前者(false)是用来判断 Session 是否还在连接 , 如果断开, 则返回 null , 而后者 ( true 或者没有参数 , 一般用来登陆 , 因为当判断到 session 为 null 时会自动创建一个session , Jsp 端 ( 客户端 ) session 隐含其中 , 可以直接使用 , 判断 session 是否存在 (cookie) ) .

4.Servlet

Servlet 的任务就是处理请求,包括访问数据库以获取所需信息和动态生成HTML页面返回给Broswer . ( doGet() , doPost() ),每次请求都会生成一个新的线程,调用在线程中执行,这样多个请求就可以并行处理。( 每次请求 new servlet ) . 任何从WEB网页上的form菜单和输入域中得到的值,和cookie 一起,由一个为该请求创建的HttpServletRequest 类对象传入,然后该请求的应答由一个HttpServletReponse类的对象返回。( request.getParameter() ),destory() 方法停止一个 servlet .

5.大型WEB

建立WEB应用程序时,大量编程精力都花在用户界面而不是数据库相关任务上。所以构建WEB界面时,应多利用函数,不要单纯依赖HTML。重复调用函数( 例如:菜单由数据库直接生成 )

连接池技术

6.HongKong diagram Sample

Jsp = HTML + Servlet ( Servlet 直接与数据库连接 ) 早期模型,这样做,由于Servlet直接与数据库进行连接,有可能造成数据库负载过重。

Dao调用 Invokeselecter 方法

如果Jsp页面中有多个Button ,可以首先使用Javascript设置参数(点击哪个Button ,然后再调用 HTTP中的get,post方法,传参给 Servlet 的doGet().doPoset()方法。

数据传送过程:首先Servelt得到form( 用户输入的参数,例如计划日期,用来查询生产计划 ),调用dao,执行SQL语句,得到结果,保存为HASH LIST 。显示数据:首先返回JSP页面中的GRID的列的名称( 此处保存为 String 类型,需要转换成GRID类型,利用 OperateParse(gRid,string_grid),将此gRid与前面的HASH List Mapping,之后利用operateGridWrite(gRid) 方法,将信息输出。

( Servelt 只是用到了 doGet() , doPost() 方法,dao 只是用到了 invokeselecter 方法 )

 

        

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值