JSP初学习

1.B/S与C/S

1.1B/S 

        B/S结构(浏览器/服务器模式)是一种网络结构模式,也可以说三层C/S架构,类似于Taobao、京东大型应用。

特点:

  • 维护成本相比较略低
  • 无需在本地安装,如果需要更新,直接更新服务端的内容,客户端使用浏览器进行访问
  • 可以支持广域网
  • 依赖于HTML5/CSS3/JS...实现更加灵活的页面设计与开发

1.2C/S 

           C/S结构(客户端/服务器模式)是一种网络结构模式,类似于QQ、微信、Word软件。

   特点:

  • 维护成本高
  • 在本地安装。如果需要更新,需要安装更新程序,还可能会造成更新失败
  • 只能够在局域网内访问(管理系统)
  • 界面开发不够灵活

2.HTTP(超文本传输协议)

        HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传输协议。

        HTTP协议是应用层协议,由请求和响应构成,是一个标准的个客户端和服务器模型。

2.1特点

  1. 支持客户/服务器模式,可以支持B/S结构。
  2. 通信速度很快。
  3. HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记。
  4. 无连接是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  5. HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面好处就是,如果后续的连接不需要之前提供的信息,响应就会比较快.而为了解决HTTP的无状态特性,出现了Cookie和Session技术。

 2.2工作原理

   客户端

  • 向服务器发送请求
  • 接收服务器返回的报文并解释成友善的信息供阅读
  • 当用户在地址栏输入网址回车时,浏览器(一种客户端)会做如下处理:
  • a.解析协议和域名。
  • b.使用HTTP协议并创建请求报文向服务端发送请求。
  • c.接收服务器返回的内容并展示给客户

 服务端 

  • 服务器端在接收到客户端发送的请求后会开始处理请求。

  • 服务器处理过程:服务器软件一直在监听端口是否有新的请求达到,如iis或者tomcat在建立web站点后,默认会一直监听80端口等待HTTP请求到达服务器。

    a.建立连接:如果客户端已经打开道服务器的持久连接,则可以直接使用,否则客户端需要在服务器打开一条新的连接。

    b.接收请求报文:连接上有数据到时,web服务器会从网络连接中读取数据,并将请求报文中的内容解析出来。

    c.处理请求:当请求被接收后,服务器便可以根据请求报文进行处理了。例如post方法中提出报文主体的数据并插入到数据库中。

    d.访问资源:请求处理完后,比如web会根据数据生成一系列的HTML页面或图片等信息,此步骤将访问这些存储在服务器上的物理文件。

    e.构建响应:web服务器在识别资源后,构造响应报文,响应报文包括:状态码,响应头,响应主体等内容。

    f.发送响应:服务器将响应的数据发送给客户端机器。

    g.记录日志:请求结束,服务器会在日志文件中记录一条请求日志。
     

2.3HTTP状态码 

  • 10x: 消息,指连接状态
  • 20x: 成功
  • 30x:重定向
  • 40x:找不到资源【客户端错误】
  • 50x:服务器错误

3.Tomcat

        Tomcat是一个应用服务器。它能够解析 JAVA 的代码, 生成.class 文件,同时将 java 转换为 html 相应的内容。
下载地址:https://tomcat.apache.org

 解压下载好的目录结构

bin: 放置所有的可执行文件
conf: 放置所有的配置文件
lib: 放置所有的支持 jar
logs: 日志文件
temp: 临时文件存储目录
webapps: 放置所有的 web 应用
work: 放置被编译之后的 .class 文件

idea配置Tomcat

 

​ 

4.JSP基本语法

 4.1注释

html注释(在客户端是能够被看到的):<!-- -->

JSP注释(无法在客户端是能够被看到的):<%-- --%>

     <% //单行注释 %>

    <% /** 多行注释 */ %>

4.2指令 

<% @ page 属性 = 属性值 %> 代表着当前页面的属性设置
属性:
  • contentType:页面的内容的类型(值:text/html; charset=utf-8)
  • import:导入要用到的包
  • language: 代表页面的编程语言

4.3小脚本

<% 

%>

4.4表达式

<%=  %>

4.5静态代码

 指的页面中的所有静态代码(html\css\js\图片)

4.6声明(弃用)

 <%!

        方法

%>

5.JSP运行机制

  1. 在客户端第一次请求时,先对JSP进行翻译,生成Java文件。
  2. Java文件编译成class文件
  3. 最后执行
  4. JSP第一次执行速度较慢,从第二次开始,就直接运行已有的class文件,性能提升
  5. JSP配置改编,则服务器一定要重启

6.运行问题

6.1 404问题

  • 服务器未启动
  • 页面名称输入错误
  • 将页面放在WEB-INF目录下,该目录是一个系统的配置目录,不能随意访问
  • web应用未部署

6.2 500问题

  • 服务器中代码错误,可以查看页面的错误信息结合idea中输出的信息判断错误出现的位置

7.JSP内置函数

        JSP中有9个内置对象,最大的特点是能够直接使用,无需实例化。实例化过程被web容器完成了。

  • page
  • pageContext
  • out
  • config
  • exception
  • request
  • response
  • session
  • application

7.1 request

        request主要处理客户端的请求,常见方法有:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值