JavaEE-Servlet基础

1.    动态网站技术概述
         它指基于数据库架构的网站,一般由大量的JSP,Servlet和用于存储内容的数据库构成。

2.     动态网站技术有早期的CGI技术(Common Gateway Interface),但由于编程困难,效率低下,修改复杂,所以逐渐被新技术取代.目前广泛使用的动态网络技术有以下三种:
              1. PHP(Hypertext Preprocessor):开源免费,语法借鉴了C,Java,Perl等语言,是当今Internet最为火热的脚步语言之一。
            2. ASP(Active Server Pages):是一种类似HTML,Script,CGI结合体的技术,但ASP局限于微软的操作系统平台,目前由ASP升级演变而来的ASP.NET支持大型网站的开发。
            3. JSP(Java Server Pages):是基于Java Servlet以及整个Java体系的Web开发技术,JSP是SUN公司与1999年6月推出的新技术,安全性能被认为这三种最好的。

3.     Servlet程序有以下特点:
              1.  高效(不重复加载到内存)
              2.  方便(自动解析解码HTML表单,读取和设置HTTP头,处理Cookie,跟踪会话状态)
              3.  功能强大
              4.   良好的移植性(因为Java语言编写)

4.     第一个Servlet:
            创建Servlet , 继承HttpServlet类,同时导入两包:javax.servlet和javax.servlet.http。
            根据数据的发送方式,覆盖doGet(),doPost()方法之一或全部,他们都有两个参数:HttpServletRequest 和 HttpServletResponse类型。
            在web.xml中配置Servlet:
                <servlet></servlet> 结点下配置servlet的别名(随意)
                  <servlet-class></servlet-class> 结点下配置servlet类完整路径
                  <url-pattern></url-pattern>配置当前servlet的URL

5.     Servlet的生命周期:
         描述Servlet生命周期的三个方法:
              1.     init() :用于Servlet初始化,该方法只会被调用一次,是在服务器装载Servlet时执行的,所以Servlet在Servlet容器中只有单一实例。
              2.     service() :用于服务处理。
              3.     destory() :用于销毁Servlet。
   
       总的来看:装载 ---- > 创建 ----> 初始化 ----> 服务 ---->销毁

4.     Servlet数据处理
    读取表单数据:学习之前首先知道浏览器地址栏经常出现的类似于 http://host/path?user=tom&desk=ok;这种问号后的数据以"name=value"的形式传送给服务器,Get请求以明文形式提交,Post请求以密文形式提交。
    服务器如何读取客户端发来的表单数据 ?
         答:通过HttpServletResquest对象可以读取,具体方法是 getParameter(String name)方法  name为标签的name属性指定的值。
    服务器如何设置向客户端输入(响应)数据的编码方式?
         答:通过request.setCharacterEncoding("utf-8");等
    问题:13页的index.html中  js代码获取表单输入的值document.Login.name.value;(name是标签指定的属性值) 什么意思?

5.     处理Http请求报头,设置Http响应报头?
         首先了解常用Http请求报头,知道如何从HttpServletRequest接口获取报头信息?(通过getHeaderNames()返回枚举类型值逐个遍历,getHeader()得到特定的报头信息)

         设置Http响应报头:告诉客户端的一些我要干什么。
              Content-Encoding , Content-Type , Refresh(,,)

6.     重定向和请求转发
         重定向:页面重新定位到某个Servlet(前后都不是同一个request和response),过程结束后显示的URL会改变, 
          请求转发:是把请求转发到另一个页面让他处理这个被我扔掉的请求(前后都是一个request和response对象)。

第一章的学习需要掌握:
    小结:
         1.     动态网站开发技术有Servlet,JSP,PHP,ASP,ASP.NET,CGI等。
         2.     Servlet是运行在服务器端的Java程序,内嵌HTML。
         3.     Servlet生命周期的三个方法分别是init() , service() , destory()。
         4.     Servlet处理GET和POST请求时分别使用doGET()和doPOST()方法进行处理。
         5.     HttpServletRequest的getParameter("参数名称")获取表单,URL参数值。
         6.      HttpServletRequest的getWriter()获取向客户端发送信息的输出流。
         7.      HttpServletRequest的getHeader("报头名称")获取相关报头信息。
         8.     请求转发和重定向都可以使可以使浏览器获得另外一个URL所指向的资源。
         9.     请求转发通过由RequestDispatcher接口的forward()方法实现,转发前后共享同一个请求对象。
         10.     重定向由HttpServletResponse接口的sendRedirect()方法实现,重定向不共享同一个请求对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值