jsp开发技术

jsp开发技术一、为什么说JSP也是动态web开发的一项技术呢?这是因为写JSP虽然像是在写HTML,但是JSP允许在页面中嵌套Java代码,或者利用某个标签表示Java代码(EL与jstl)。这就使得我们在写JS

大家好,又见面了,我是你们的朋友全栈君。

一、为什么说JSP也是动态web开发的一项技术呢?这是因为写JSP虽然像是在写HTML,但是JSP允许在页面中嵌套Java代码,或者利用某个标签表示Java代码(EL与jstl)。这就使得我们在写JSP时能够获取请求对象Request和响应对象Response等这样的web开发常用对象,实现与浏览器的交互。

jsp在第一次被访问时会被Web容器翻译成servlet,在执行

过程:

第一次访问—->helloServlet.jsp—->helloServlet_jsp.java—->编译运行(实际运行jsp.java)最终运行class文件;

PS:被翻译后的servlet在Tomcat的work目录中可以找到;

二、page三大指令;

    1)   page指令

  2)   include指令

  3)   taglib指令

三、jsp 九大隐式对象

名称                                         类型                                                             描述
out                                         javax.servlet.jsp.JspWriter                                  用于页面输出
request                                     javax.servlet.http.HttpServletRequest                      得到用户请求信息,
response                                    javax.servlet.http.HttpServletResponse                    服务器向客户端的回应信息
config                                      javax.servlet.ServletConfig                               服务器配置,可以取得初始化参数
session                                     javax.servlet.http.HttpSession                            用来保存用户的信息
application                                 javax.servlet.ServletContext                              所有用户的共享信息
page                                        java.lang.Object                                          指当前页面转换后的Servlet类的实例(在普通类中的this)
pageContext                                 javax.servlet.jsp.PageContext                             JSP的页面容器
exception                                   java.lang.Throwable                                       表示JSP页面所发生的异常,在错误页中才起作用

 四、jsp有四大作用域 作用分别如下:

pageContext域:当前jsp页面范围

request域:一次请求

session域:一次会话

application域:整个web应用相当于ServletContext这个域);

五、

1)pageContext是一个域对象

setAttribute(String name,Object obj)

getAttribute(String name)

removeAttrbute(String name)

 

pageContext可以向指定的其他域中存取数据

setAttribute(String name,Object obj,int scope)

getAttribute(String name,int scope)

removeAttrbute(String name,int scope)

findAttribute(String name)

—依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找;

<%@ 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>
    <% 
        pageContext.setAttribute("username", "小红帽");
        pageContext.setAttribute("username", "大红帽",PageContext.REQUEST_SCOPE);
        pageContext.setAttribute("username", "小蓝帽",PageContext.SESSION_SCOPE);
        pageContext.setAttribute("username", "小黄帽",PageContext.APPLICATION_SCOPE);
    %>
    <%=pageContext.findAttribute("username") %>
</body>
</html>

<span role="heading" aria-level="2">jsp开发技术

 

 这个地方只打印出来了小红帽  这就是前面所说的 在某个域中获取后将不在向后寻找;因此在取名key值的时候 名字最好不要相同;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155375.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月2日 上午9:36
下一篇 2022年7月2日 上午9:36


相关推荐

  • VMware虚拟机上网问题

    VMware虚拟机上网问题最近我遇到很多朋友在问我vmwareworkstation版本虚拟机的上网问题,在这里,我就针对这个问题做一些说明。为了朋友们更好的理解VMwareWorkstation版本虚拟机是如何连接网络的,下面我就对VMware的3种网络模型做一下相关的介绍。1.首先,介绍一下VMware的几个虚拟的网络设备:VMnet0:在桥接模式下的虚拟交换机VMnet1:在Hos

    2022年5月12日
    45
  • http://bdsmdvdtube.com/ 罪恶无处不在

    http://bdsmdvdtube.com/ 罪恶无处不在http://bdsmdvdtube.com/

    2022年7月1日
    26
  • Claude Code 原生支持 Windows:一篇详尽的安装与配置指南

    Claude Code 原生支持 Windows:一篇详尽的安装与配置指南

    2026年3月16日
    2
  • TerminateProcess函数简单使用示例[通俗易懂]

    TerminateProcess顾名思义,就是终止进程的意思。是WindowsAPI的函数,示例代码如下://Demo.cpp:定义控制台应用程序的入口点。//终止进程Demo#include”stdafx.h”usingnamespacestd;//@param:dwpid:指定需要关闭的进程pidintCloseProcess(DWORDdwpi…

    2022年4月7日
    121
  • java多线程并发之旅-14-lock free queue 无锁队列[通俗易懂]

    java多线程并发之旅-14-lock free queue 无锁队列[通俗易懂]无锁队列能实现吗?上面说的加锁的环形队列,可以保证线程安全。但是加锁能不能去掉呢?答案是肯定的,请看下面的娓娓道来。i++是原子操作吗?i++和++i是原子操作吗?有一个很多人也许都不是很清楚的问题:i++或++i是一个原子操作吗?在上一节,其实已经提到了,在SMP(对称多处理器)上,即使是单条递减汇编指令,其原子性也是不能保证的。那么在单处理机系统中呢?在编译器对C/C++源代码…

    2022年7月19日
    22
  • USB(UVC协议)摄像头

    USB(UVC协议)摄像头一 背景知识 1 1 背景 UVC 全称为 USBVideoClas 即 USB 视频类 是一种为 USB 视频捕获设备定义的协议标准 是 Microsoft 与另外几家设备厂商联合推出的为 USB 视频捕获设备定义的协议标准 已成为 USBorg 标准之一 对于一个 usb 摄像头来说 内部大概分为一个 VC 接口和一个 VS 接口 VC 接口内部有许多 unit 和 terminal 用来 控制 摄

    2025年11月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号