• Head First Servlet&JSP(beta版)



    一.Servlet&JSP概述

    1.1 简单的访问流程

    每个人在学习编程时候都想自己创建一个网站,这时候,Servlet和JSP就是很好的选择。
    当我们访问一个网站时候,最简单的流程是:

    1. 用户在web浏览器上输入url,请求(request)一个资源
    2. 请求发送到web服务器上,服务器根据url来查找资源
    3. 没找到,就会显示404;找到了,就会把资源-----例如html页面,响应(response)到客户

    1.2 http协议

    http协议是处于TCP/IP协议的应用层。

    TCP端口:共有0~65536个逻辑端口

    • HTTP:80
    • FTP(文件传输协议):21
    • Telnet:23
    • SMTP:25
    • TIME:37
    • POP3:110
    • HTTPS:443

    一般在0~1023的端口号已经被占用,所以定义时最好不要选择

    1.2.1请求request

    1.2.1.1 GET方法

    GET:请求任务并获得资源返回,get请求中的字数有限(取决于服务器),若用户在搜索框中输入很长一段文字,就会出现异常
    get
    如图所示,用get发送的数据会出现在url后面,显示在地址栏中,这样信息就全部暴露了,所以这种方法不适用于发送私密信息,不过可以用它来建立书签
    我们还要注意Accept这行,决定了能接受的从服务器返回的类型

    1.2.1.2 POST方法

    POST:可以请求,同时向服务器发送表单数据。浏览器可以用它做复杂的请求,加到最后的消息体当中去,也可以发送加密信息,因为他的信息不会存在url上

    post

    1.2.2 HTTP响应response

    但你向浏览器发出请求get,post时,服务器就会返回你想要的资源,附在最后
    response

    MIME类型:响应首部+资源=http响应。在响应首部中Content-type的值称为MIME类型,他的作用是告诉浏览器要接收的数据是什么。
    例如response.setContentType("text/html");告诉浏览器要显示text/html类型的数据

    1.3 URL---统一资源定位器

    之前一直再说URL,那URL到底是什么呢?
    顾名思义,定位服务器上的资源,一般是一个地址
    P20

    1.4 web服务器

    web服务器擅长读取静态页面,那怎么处理动态内容呢?比如实时显示服务器时间?
    CGI(Common Gateway Interface)来辅助服务器处理动态信息,使用Perl编写。现在好像用fastCGI(先不管)。
    我们javaweb中用Servlet扮演辅助应用程序的角色,把参数(请求和响应)分配其中,并且再处理
    下面是流程:
    动态

    目前有两种Web服务器软件:IIS和Apache
    j2ee(Java 2 Enterprise Edition),一个完整的web服务器由一个web容器(Tomcat)与一个EJB容器(weblogic和websphere)组成

    二.Web应用体系

    2.1 容器

    Servlet是web服务器器的辅助应用程序,又受控于容器。
    当客户发送一个请求时,由容器来分发给Servlet,容器又称web容器,本文中一般指代Tomcat。
    容器
    容器把各种必备的j2se代码封装起来,例如Socket、线程安全、servlet的生命周期管理、jsp支持和日志等等。不需要我们再去写,只需要调用方法就可以了。
    分发请求的流程如下,虽然我觉的并不需要了
    容器 1
    容器 2

    2.2 Servlet的映射

    tomcat怎么找到Servlet的呢?
    可以使用xml属性映射来找到

    Servlet的文件路径名称在WEB-INF的classes下,一般的Servlet有3个名字
    如图:

    1. URL名<url-pattern>
    2. 秘密的内部名,也就是<servlet-name>
    3. 实际的文件名,<servlet-class>一般写的Servlet文件的路径名
      此处输入图片的描述
      为什么要这么多名字,不能直接写路径名称吗?
      通过映射,你只需要修改xml文件就好了,不用在jsp或html里面改动文件,而且客户不会直接得知你文件的位置,即灵活又安全。

    xml

    xml文件又称为部署文件(DD),它的作用除了映射外,还有其他很多作用,比如定制安全角色、错误页面、标记库、初始配置init()等等强大作用


  • 相关阅读:
    iOS开发数据库篇—SQLite的应用
    iOS开发数据库篇—SQL代码应用示例
    iOS开发数据库篇—SQL
    iOS开发数据库篇—SQLite简单介绍
    iOS开发网络篇—NSURLConnection基本使用
    iOS开发网络篇—数据安全
    iOS开发网络篇—GET请求和POST请求
    WordPress主题开发:开启文章缩略图功能
    WordPress主题开发:开启feed功能
    WordPress主题开发:循环代码
  • 原文地址:https://www.cnblogs.com/ikonon/p/8034916.html
Copyright © 2020-2023  润新知