Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >JavaWeb——JSP入门学习(JSP基本概念、JSP脚本、JSP内置对象)

JavaWeb——JSP入门学习(JSP基本概念、JSP脚本、JSP内置对象)

作者头像
Winter_world
发布于 2020-09-25 02:57:11
发布于 2020-09-25 02:57:11
15.3K04
代码可运行
举报
运行总次数:4
代码可运行

本章内容只对JSP内容做入门介绍,是为了会话技术的Cookie和Session内容的承接,后续再写文章详细介绍JSP。

1 JSP基本概念

JSP,Java Server Pages,Java服务器端界面,可以理解为一个特殊页面,既可以定义html标签,又可以定义Java代码。可以简化书写

【JSP原理】:JSP本质上就是一个Servlet

  • 1)服务器解析请求消息,找是否有index.jsp资源;
  • 2)若找到了,则将其转化为.java文件;
  • 3)编译.java文件,生成.class字节码文件;
  • 4)由字节码文件提供访问;

2 JSP脚本

JSP脚本,就是JSP定义Java代码的方式,有三种:

1)<%   代码    %>:定义的java代码,在service方法中,service中可以定义什么,该脚本中就可以定义什么;

2)<%!  代码    %>:定义的java代码,在jsp转换后 的java类的成员位置,用的很少;

3)<%= 代码    %>:定义的java代码,会输出到页面上,输出语句中可以定义什么,该脚本就可以定义什么。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>

  <body>
    <%
      System.out.println("hello jsp");
      int i = 3;
    %>

    <%!
      int i = 5;
    %>
    <%=i %>
  </body>
</html>

3 JSP的内置对象

内置对象,就是指在jsp页面中不需要获取和创建,可以直接使用的对象。

jsp一共有9个内置对象,后续博文中会详细讲解,本次只说明3个:

  • request
  • response
  • out:字符输出流对象,可以将数据输出到页面,和response.getWriter()类似。

response.getWriter().write()

out.write()

1、在Tomcat服务器真正给客户端响应前,会先找response缓冲区数据,再找out缓冲区数据; 2、response.getWriter()数据永远在out.writer()之前;

建议使用out输出,避免打乱输出顺序。

4 使用JSP改造记住上一次的访问时间的案例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ page import="java.util.Date" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.net.URLEncoder" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>showTime</title>
</head>
<body>
    <%
        //1、判断Cookie
        Cookie[] cookies = request.getCookies();
        boolean flag =  false;
        if(cookies!= null && cookies.length>0){
            for (Cookie cookie : cookies) {
                String name = cookie.getName();
                if("lastTime".equals(name)){
                    flag = true;
                    //设置Cookie,时间
                    Date date = new Date();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    String time = sdf.format(date);
                    time = URLEncoder.encode(time,"utf-8"); //URL编码,否则会报错
                    cookie.setValue(time);
                    //设置存活时间
                    cookie.setMaxAge(60*60*24*30);//一个月
                    response.addCookie(cookie);

                    //响应数据
                    String value = cookie.getValue();
                    value = URLDecoder.decode(value,"utf-8");
                    out.write("<h1>欢迎回来,您上次访问时间为:"+value+"</h1>");
                    break;
                }
            }
        }

        if(cookies ==null || cookies.length==0 || flag==false){
            //设置Cookie,时间
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = sdf.format(date);
            time = URLEncoder.encode(time,"utf-8");
            Cookie cookie = new Cookie("lastTime",time);
            //设置存活时间
            cookie.setMaxAge(60*60*24*30);//一个月
            response.addCookie(cookie);

            out.write("<h1>您好,欢迎您首次访问</h1>");

        }
    %>
    <input>
</body>
</html>

———————————————————————————————————————

本文为博主原创文章,转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
E018Web学习笔记-JSP
被改造的案例是《E016Web学习笔记-Cookie和Session(一)》的“四、Cookie案例”;
訾博ZiBo
2025/01/06
460
第47次文章:cookie&session
一次会话中包含多次请求和响应。 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。
鹏-程-万-里
2019/12/12
6000
第47次文章:cookie&session
Web编程-Cookie&Session
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/12/11
3990
会话技术 & JSP 的学习
* 会话:一次会话中包含多次请求和响应。 * 一次会话:浏览器第一次给服务区资源发送请求,会话建立,知道由一方断开为止。
Rochester
2020/09/01
1.4K0
JSP知识点整理
这里可以成功调用getBirth方法的前提时,所有成员变量都有get和set方法,否则会报错
大忽悠爱学习
2021/11/15
4200
JavaWeb——会话技术之Cookie快速入门与案例实战(详细讲解了Cookie实现原理、Cookie使用细节、Cookie的特点及作用)
会话与生活中的谈话很类似,有开始,有结束,中间过程一问一答。一次会话中包含多次请求和响应:
Winter_world
2020/09/25
7390
JavaWeb——会话技术之Cookie快速入门与案例实战(详细讲解了Cookie实现原理、Cookie使用细节、Cookie的特点及作用)
Cookie实现是否第一次登陆/显示上次登陆时间
最近刚好看到Cookie这方面知识,对Servlet部分知识已经生疏,重新翻出已经遗弃角落的《JavaWeb开发实战经典》,重新温习了Cookie知识,并总结一下Cookie知识,以供大家借鉴。
呆呆
2021/10/06
5930
Cookie快速入门和记住上一次访问时间案例
1. CookieDemo1.java * 创建Cookie对象 * 发送Cookie * 获取Cookie * 设置cookie的生命周期持久化存储()
不愿意做鱼的小鲸鱼
2022/09/24
3150
Cookie快速入门和记住上一次访问时间案例
Cookie和Session详解
服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession
共饮一杯无
2022/11/28
4070
动态资源技术JSP|Java与Html的美好相遇
JSP可以用简单易懂的方式表示为:Html+Java=JSP,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
浅羽技术
2020/12/07
2.2K0
动态资源技术JSP|Java与Html的美好相遇
Cookie–记住上一次访问时间案例(Java)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156834.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/08
2230
Cookie–记住上一次访问时间案例(Java)
15-会话技术与Cookie
一次会话中包含多次请求和相应,浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止,会话结束
Ywrby
2022/10/27
4400
15-会话技术与Cookie
Servlet技术【第三篇】会话技术——Cookies、Session详解
也就是说,从浏览器访问服务器开始,到访问服务器结束,浏览器关闭为止的这段时间内容产生的多次请求和响应,合起来叫做浏览器和服务器之间的一次会话
BWH_Steven
2019/09/04
1.4K0
Servlet技术【第三篇】会话技术——Cookies、Session详解
javaweb之每次访问的时候都在浏览器上返回上次访问的时间,原码
需求:第一次访问的时候返回一个welcome,第二次访问及以后则返回上一次的访问时间
全栈程序员站长
2022/09/08
4100
Java Web servlet与cookie
在C:\Documents and Settings\Administrator\Cookies目录下面会有一个   hongten@webproject_cookie[2].txt 的文件;
Hongten
2018/09/13
5220
Java匹马行天下之JavaWeb核心技术——JSP(续一)
我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理。浏览器中使用 GET 和 POST 方法向服务器提交数据。
泰斗贤若如
2019/06/19
1.1K0
Java匹马行天下之JavaWeb核心技术——JSP(续一)
E016Web学习笔记-Cookie和Session(一)
第四步:浏览器第二次向服务器发送请求的时候,会将之前保存的Cookie发送给服务器;
訾博ZiBo
2025/01/06
750
E016Web学习笔记-Cookie和Session(一)
JSP 内置对象request常见用法
说明:如果指定的参数不存在,将返回null;如果指定了参数名,但未指定参数值,将返回空的字符串”。
全栈程序员站长
2022/08/12
7210
JSP 内置对象request常见用法
Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话. ---- 为什么我们要使
Java3y
2018/03/15
8200
Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】
Web---Cookie技术(显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放))
本章博客讲解: 1、Cookie基本用法演示 2、演示Cookie的访问权限 3、演示Cookie的删除 4、利用Cookie显示用户上次登录的时间 5、利用Cookie技术显示用户最近浏览的若干个图片 6、测试火狐浏览器到底支持多少个Cookie和一个Cookie最大为多大
谙忆
2021/01/21
1.7K0
Web---Cookie技术(显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放))
相关推荐
E018Web学习笔记-JSP
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验