Servlet-Day1 课堂笔记

1、http 协议
简介
HTTP: HyperText Transfer Protocol,超文本传输协议,
在RFC2616中定义
是Web应用程序的基础,
是应用层协议,基于tcp/IP
版本:HTTP1.1
Http的缺省端口是80
Http特点是:无状态、无连接

Tomcat
   |
   |---bin     启动关闭服务器的工具文件夹
   |---webapps 所有 Web 项目发布的目录,该目录下面每个
         文件夹都是一个 Web 项目,包含 WEB-INF、web.xml
   |---conf    Tomcat 软件的配置文件所在目录,
               tomcat-user.xml 配置 Tomcat 后台管理员帐户
               server.xml 配置 Tomcat 服务器端口等信息
            Connector 容器,指运行Servlet、JSP的软件环境
            Engine 引擎、为运行Servlet、JSP 提供动力
            Host    域名配置,
   |----work    webapps 目录下的项目编译生成的文件所在目录


2、URL 请求的内容
   统一资源定位符 ,请求的是服务器上的资源。
   资源是一个抽象的概念,指存放在服务器上的能够被客户端访问到的所有类型的文件。

3、http://www.itu.org 这样的访问路径,映射到一个缺省的文件 index.html
   完整路径 http://www.itu.org/index.html


4、HTTP 访问服务器资源的方式
   (1)URL 地址
   (2)表单提交

HTTP 请求中包含的内容
请求数据
请求头等:浏览器及客户端相关信息,如:
http协议版本(1.1)
浏览器?
支持哪些类型文档类型?
支持哪些字符集?
客户机地址是多少?
用户数据
请求文件(资源)
请求参数
形式:名字=值
两种方法(method): Get    Post


5、get 与 post 的区别
   (1)get 方法,通过 URL 传递参数,用户在客户端地址栏中可见,如果是传递密码的话,不安全。
      post 方法,传递参数通过请求的 body ,用户在客户端不可见,更安全。
   (2)get 方法,通过地址栏 URL 传递请求,而 URL 本身有长度限制,一般不超过 255 个字符。
      传递数据的量有限
      post 方法,通过请求 body 传递参数,没有长度现在。可以传递任意长度的参数


6、Servlet 运行过程
   Servlet 是完全用 java 代码写的一个文件,编译过程同样跟 java 代码一样,编译、运行。
   区别:运行 是由 Web 服务器控制。客户端访问服务器上哪个 Servlet ,服务器就加载并运行哪个 Servlet 的字节码来生成结果。


7、Servlet 开发包
   javax :带 x 的包,指 java 的功能扩展包
   javax.servlet.* :只处理所有 Servlet 功能相关的包。Java 中的 Servlet ,不只是支持 HTTP 协议,还支持其它协议。
   javax.servlet.http.* :专门处理基于 HTTP 协议的 Servlet 功能的包,是我们写的 Servlet 的父类。


8、web.xml
   是 web 项目的核心,任何一个 web 项目都必须要有这样的配置文件,通过这个配置文件,所有的服务器:Tomcat、JBoss、WebLogic、GlassFish.... 都要通过 web.xml 配置文件来了解一个 web 项目相关的信息。
该文件中,能够配置很多的内容,其中包括 servlet ,能够为 servlet 配置名称、类路径、访问路径。
   可以通过访问路径,在地址栏中 通过 URL ,访问到某个包下面的某个 Servlet 类。

<!– 文件中各种元素配置的顺序 ?
<!ELEMENT web-app (icon?, display-name?, description?, distributable?,
context-param*, filter*, filter-mapping*, listener*, servlet*,
servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
login-config?, security-role*, env-entry*, ejb-ref*, ejb-local-ref*)>
    配置各个属性的顺序是固定的,就按照上述顺序来写。


9、HttPServlet 父类
public abstract class GenericServlet implements Servlet, ServletConfig,

   abstract class :没有具体到某种协议,只是规定了一个 Servlet 生命周期中对应的几个方法。
   Servlet :主要是为了能够提供 服务。
   ServletConfig :用来读取 web 应用程序的配置信息。


10、response
    //设置响应状态,很少用到
    response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
    //设置响应头信息
    response.setHeader("Location","http://www.csdn.net");
   
    //设置响应调整路径,使用 response 对象跳转,可以跳到项目外的一个 URL 资源上
    response.sendRedirect("http://www.csdn.net");

    //使用 request 对象跳转,只能在本项目的资源中跳转
    request.getRequestDispather("url").forward(request,response);

你可能感兴趣的:(tomcat,应用服务器,Web,servlet,配置管理)