JSP

110 篇文章 0 订阅
88 篇文章 1 订阅

什么是jsp

Java server page  用java语言写的服务器端的页面

Servlet                                                          后台程序;

为什么要使用jsp

HTML  就是写页面的   静态页面

Jsp  动态的    jsp=HTML+java

jsp里面既可以写html代码;也可以写java代码

?Jsp能不能取代servlet   可以

? Servlet能不能取代jsp  可以

可以前后台分离;

总结:  可以前后台分离;jsp是一个动态资源;

第一个jsp页面

<body>

    <h1>这是一个html标签  jsp中可以使用html代码</h1>

<%

       //这是java代码

       Date date=new Date();

       out.write(date.toLocaleString());  //输出

    %>

</body>

Jsp的组成

JSP页面由数据模板元素组成

数据模板

JSP容器不进行处理的部分,如:JSP中的html内容,这些内容会直接发送到客户端

元素

JSP容器必须处理的部分。

元素有三种类型:

指令元素 page

脚本元素

   表达式

   脚本段

   声明(声明变量和方法)

动作元素jsp:forward

Jsp语法:

指令

Page

include

<!-- 在该页面 包含了另外一个页面 -->

  <%@include file="login.jsp" %>

Taglib

脚本元素

脚本元素包含三个部分

脚本段

脚本段是一段Java代码,用于描述在请求的响应中要做的动作

声明元素

用于声明在其他脚本元素中可能要使用的变量和方法

表达式

是Java语言中完整的表达式,在响应请求时被计算,计算的结果将被转换为字符串,插入到输出流中,输出至客户端

 

脚本段

<% int aaa=1; %>

声明元素

表达式:   就是输出内容到页面;

Jsp的隐含对象  (jsp的9大内置对象 )

Jsp的4大作用域

Page      当前页面

 

Request    一次请求  (对xxx来说的)

 

小明让张三给买东西; (一次)

小明让张三给买东西,张三不去,张三让李四去买; (一次)

这叫做请求转发

--

 

小明让张三去买东西,张三不去,小明又让李四去买 (二次)

重定向

请求转发和重定向的区别

Get请求和post请求的区别

 

Session    一次会话

在计算机术语中,会话是指一个终端用户与交互系统进行通讯的过程,比如从输入账户密码进入操作系统到退出操作系统就是一个会话过程。会话较多用于网络上,TCP的三次握手就创建了一个会话,TCP关闭连接就是关闭会话。

Session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。在Servlet中,当JSP页面没有显式禁止session的时候,在打开浏览器第一次请求该jsp的时候,服务器会自动为其创建一个session,并赋予其一个sessionID,发送给客户端的浏览器。以后客户端接着请求本应用中其他资源的时候,会自动在请求头上添加:(Cookie:JSESSIONID=客户端第一次拿到的session ID)。这样,服务器端在接到请求时候,就会收到session ID,并根据ID在内存中找到之前创建的session对象,提供给请求使用。

会话的默认时间是30分钟

场景 

登录之后   如果你30分钟没有任何操作,再点击功能的时候会让你重新登录;

Application   整个应用程序

只要服务器不关闭,一直保持着;

Jsp2里面设置值,jsp2里面获取值

 

<%

        //设置值

        //                      ("String类型的key",Object类型 value)               

        pageContext.setAttribute("page", "pageValue");

        request.setAttribute("request", "requestValue");

        session.setAttribute("session", "sessionValue");

        application.setAttribute("application", 123);

   

    %>

 

    <%

        //获取值

        String p=(String)pageContext.getAttribute("page");

        String req=(String)request.getAttribute("request");

        String sess=(String)session.getAttribute("session");

        int a=(int)application.getAttribute("application");

    %>

 

    <!-- 输出 -->

    <%=p %>  <br/>

    <%=req %>  <br/>

    <%=sess %> <br/>

    <%=a %>   <br/>

Jsp2里面设置值 ,jsp3里面获取值;  jsp2跳转到了jsp3

<%@ page language="java" contentType="text/html; charset=utf-8"

    pageEncoding="utf-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Insert title here</title>

</head>

<body>

 

    <%

       //设置值

       //                   ("String类型的key",Object类型 value)            

       pageContext.setAttribute("page", "pageValue");

       request.setAttribute("request", "requestValue");

       session.setAttribute("session", "sessionValue");

       application.setAttribute("application", 123);

      

    %>

 

    <%

       //获取值

       String p=(String)pageContext.getAttribute("page");

       String req=(String)request.getAttribute("request");

       String sess=(String)session.getAttribute("session");

       int a=(int)application.getAttribute("application");

    %>

 

    <!-- 输出 -->

    <%=p %>  <br/>

    <%=req %>  <br/>

    <%=sess %> <br/>

    <%=a %>   <br/>

   

    <!-- 跳转页面 -->

    <jsp:forward page="jsp3.jsp"></jsp:forward>

</body>

</html>

Jsp2请求转发到jsp3里面

Page只能在当前页面获取;

Request可以获取,session也可以获取,application也可以获取

Jsp2设置值;jsp4获取值;他们两个没有关系

Page获取不到 不在同一个页面

Request也获取不到  。他不是一次请求了;

Session可以

Application也可以

换个浏览器开了一个新的会话

Page ,request,session都获取不到,

application可以;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值