java web 知识 jsp

1. jsp:   Java Server Page

    jsp 文件 必须 由 应用服务器 部署(启动项目) ,部署后 用浏览器才能访问

2. jsp 运行原理:

idea 编译 部署项目的 位置:
C:\Users\74163\AppData\Local\JetBrains\IntelliJIdea2021.1\tomcat\c5b2c807-b7a6-4948-a9ca-71919e55968b
  这个 目录 下的 \work\Catalina\localhost\ROOT\org\apache\jsp
      index_jsp.java
      index_jsp.class

运行原理: jsp文件在第一次被访问时, jsp引擎先将它编译成一个Servlet源程序 即(.java文件)
         再把这个Servlet源程序 编译成 字节码文件 即(.class 文件)
         然后 由Web容器来装载和解释这个字节码文件

3. 欢迎页面:  (web.xml 中 配置)------- 但 一般 欢迎界面 就是 index.jsp
     index.html
     index.jsp


     <welcome-file-list>
             <welcome-file>index.html</welcome-file>
              <welcome-file>index.htm</welcome-file>
               <welcome-file>index.jsp</welcome-file>
     </welcome-file-list>


4. jsp 语法:

<%    代码片段       %>


注释:  在浏览器页面,中 注释均不显示
   <!--  注释内容 -->  html 注释, 这种注释在查看页面 源文件时 可以看见注释内容


   <%--  注释内容 --%> jsp 注释,  这种注释在查看页面 源文件时  注释内容不可见

表达式:
   <%=   %>   表达式 , 表达式的值 会转为String, 不能使用 分号; 结尾

声明: (很少使用)
  <%!  声明变量,常量,声明函数 %>

指令:
  <%@    %>
  <%@ page contentType="text/html;charset=UTF-8" language="java" %> 设置页面属性
  <%@ include file="" %>         包含哪些页面
  <%@ taglib uri=""  %>    引入标签库 (后期 jstl 会使用)


 form 是 表单:
       action  提交到的地址
       method  提交方式  post| get ,  post 方式比get 要安全

   表单元素:    表单元素 必须 添加  name 属性
      文本框   type="text"
      密码框   type="password"
      单选按钮  type="radio"
      多选按钮  type="checkbox"
      下拉框    select | option
      多行文本框   textarea
      文件域    type="file"

    按钮:  按钮 一般 不需要增加 name 属性
       type="submit"  提交按钮
       type="button"  普通按钮
       type="reset"   重置按钮

 5. jsp 内置对象  (9个内置对象)

 out:  jsp输出对象,

 request: 请求对象, 利用该对象的request.getParameter() 可以获得用户的请求参数

 response: 响应对象, 利用该对象的 sendRedirect() 可以实现 重定向

 session : 会话对象

 [page: 指向当前jsp的页面

 pageContext: jsp的上下文对象

 config:  ServletConfig对象

 application: ServletContext上下文对象

 exception:  异常对象

 ]

6. 转发 与 重定向
   重定向:   A->B->C

     A 向B 发出请求(第一次) 然后B 通过重定向的方式跳转到C
     但B不会直接向C 发出请求, 而是 先返回到A,通过A向C 发送请求(第二次请求)

   转发:   A->B->C
       A向B 发出请求(第一次),然后B通过转发的方式 跳转到C, B 直接发出请求到C

   转发与重定向都可以实现 页面的跳转,但 略有不同

  a. 请求次数不同:
        重定向比请求转发 多请求一次

  b. 地址栏不同
      重定向: 两次请求, 因此 地址栏 会发生改变  显示 的是 C.jsp
      转发: 仅是服务器内部的跳转, 因此 地址栏 不变 (显示的依然是B.jsp,但是 此时的内容为C.jsp)

  c.是否保留第一次请求时的数据:
        重定向 因为发送两次请求, 因此 不会保留第一次的请求数据
        转发 只发送一次请求,因此 会保留第一次的请求数据


7. jsp 四大作用域对象

  范围 由小变大 :  pageContext<request<session<application

pageContext   当前jsp 页面范围内有效
request       一次请求当中有效
session      一次会话中有效(关闭浏览器时 代表 会话结束)
application  整个web工程范围内有效(只要不重启tomcat,数据一直存在)  ------ 统计访问次数

   scope.jsp   scope2.jsp


 四大 作用域对象 通过 setAttribute(键,值) 设置 键值信息
                通过 getAttribute(键) 获得 值的信息  (注意要进行 强制类型转换)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

射手座的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值