Javaweb-02(jsp基本语法&request请求对象)


一.jsp基本语法


    1.1 什么是jsp?


    jsp(java server pages)java服务器端页面,它是一种动态网页开发技术,使用了jsp标签在html网页中插入java代码;标签通常以<%开头以%>结束。

    1.2 jsp页面元素的构成


    注释(html注释,jsp注释,js注释  java)、声明、小脚本、表达式、指令、静态内容

    1.3 jsp指令


    page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。-------本堂课讲解
       include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句--------后面会讲
       taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为    -----------后面会讲

    1.4 page指令详解


    ①语法:<%@ page 属性1 = "属性值" 属性2 = "属性1,属性2"...属性n = "属性值n"%>
    ②page指令中常用的三个属性
        language:指定jsp页面使用的脚本语言   java
        import:通过该属性来引用脚本语言中使用到的类文件  无
        contentType:用来指定jsp页面所采用的编码方式  text/html   默认字符集:ISO-885-1----纯英文

  

    1.5 关于jsp注释


    ①html注释   <!-- -->注:客户端可见
    ②jsp注释  <%--html注释--%>注:客户端不可见
    ③jsp脚本注释
           //单行注释
           /**/多行注释
    

    1.6 jsp脚本


    在jsp页面中执行的java代码,语法:<%Java代码%>
    
    【案例】

//out属于jsp九大内置对象之一
        //向浏览器输出信息
    

<%
        
        out.print("大家好,欢迎大家学习javaweb");

        %>

    1.7 sp声明


    在jsp页面中定义变量或者方法,语法:<%!java代码%>

    【案例】:

 //声明一个变量
       

 <%!
           
            String str= "张三";
            //声明一个返回整数的函数,实现两个整数的求和
            int add(int x,int y){
                return x+y;
            }
        %>

    1.8 jsp表达式
    在jsp页面中执行的表达式,语法: <%=表达式%>//注意:表达式不以分号结尾

    【案例】:

 //声明一个变量

 //声明一个返回整数的函数,实现两个整数的求和
 

   <%!
        
        String str= "张三";
       
        int add(int x,int y){
            return x+y;
        }
    %>
    //输出
    <%=str%>
    x+y=<%=add(10,8)%>

【jsp页面生命周期】
    编译阶段
    初始化阶段
    执行阶段
    销毁阶段

二.网页的常见响应码


    200:请求成功,浏览器会吧响应体内容(通常是html)显示在浏览器当中
    404:请求的资源没有找到,说明客户端错误的请求了不存在的资源(网址)
       500:请求的资源找到了,但服务器内部出现了错误
    
    
    
    
    
    

三.jsp内置对象


    3.1 jsp内置对象简介


    jsp内置对象是web容器创建的一组对象,不使用new关键字就可以使用的内置对象。
    【案例】定义一个数组,使用out内置对象遍历输出
    

<%
       int[] value = {60,70.80};
       for(int i:value){
        out.print(i)
      }
    %>

    3.2 jsp中9大内置对象


    --常用
    out
    request
    response
    session
    application

    --不常用
    page
    pageContext
    exception
    config 

    3.3 关于web程序的请求与响应模式


    在将jsp内置对象之前,先给大家介绍一下:
    web程序的请求响应模式。用户发送请求:request,服务器给用户响应:response
    【画图分析】
        用户----------http请求--------》web服务器
        用户《----------http响应--------web服务器
    例子:登录
        点击登录想服务器发送请求,在请求对象中封装了用户名和密码。
        服务器端接受用户的请求,判断用户名和密码后,给客户端发送响应页面

    总结:web应用程序都是基于请求和响应的模式的。

    3.4 out对象


    out对象是jspWriter类的实例,是想客户端输出内容常用的对象
    
        常用的方法如下:
    1.void println():想客户端打印字符串
    2.void clear():清除缓冲区的内容,如果在flush之后调用会抛出异常
    3.void clearBuffer():清除缓冲区的内容,如果在flush之后调用不会抛出异常
    4.void flush():将缓冲区内容输出到客户端
    5.int getBufferSize() 返回缓冲区以字节数的大小 如不设缓冲区则为0
    6.int getRemaining() 返回缓冲区还剩余多少可用
    7. boolean isAutoFlush() 返回缓冲满时,是否自动清空还是抛出异常
    8.void close() 关闭输出流

    3.5 表单的提交方式


    get和post区别:

<form name = 'myf' action = '提交地址' method = '提交方式'></form>

    表单有两种提交方式:get与post

    1.get:以明文的方式通过url提交数据,数据在url中可以看到 提交的数据最多不超过2KB
    安全性较低但是效率比post方式高 适合提交数据量不大 安全性不高的数据  比如:搜索 查询等功能

    2.post:将用户提交的信息封装在html header内  适合提交数据量大,安全性高的用户信息  比如  注册  修改  上传等功能


 

    3.6 request对象


    表示客户端的一次请求
---------------------------------------------------------------------------------------------------------------
客户端的请求信息被封装在request对象中,通过它才能了解到客户端的需求,然后做出响应。他是HttpServletRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。
    ①String getParameter(String name)返回name指定参数的参数值
    ②String[] getParameterValues(String name) 返回包含参数name的所有值的数组
    ③void setAttribute(String,Object)存储此请求中的属性
    ④object getAttribute(String name):返回指定属性的属性值
    ⑤String getContentType()得到请求体的mime类型
    ⑥String getProtocol() 返回请求用的协议类型及版本号
    ⑦String getServerName() 返回接受请求的服务器主机名
    ⑧int getServerPort():返回服务器接收此请求所用的端口号
    ⑨String getCharacterEncoding():返回字符串编码方式
    ⑩void setCharacterEncoding():设置请求的字符编码方式
    11.int getContentLength():返回请求体的长度(以字节数为单位)
    12.String getRemoteAddr():返回发送此请求的客户端IP地址
    13.String getRealPath(String path):返回虚拟路径的真实路径
    14.String request.getContextPath():返回上下文路径


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值