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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vim插件管理工具pathogen[通俗易懂]

    vim插件管理工具pathogen[通俗易懂]因为vim编辑的时候,实在记不住复杂的目录结构,为了更方便展示,所以想到安装树形目录插件,自然是用到最多的NERDTree。说到安装vim插件首先需要安装vim插件管理工具啊。简单说一下vim插件管理工具pathogen,官网http://www.vim.org/scripts/script.php?script_id=2332。

    2025年7月25日
    3
  • 零基础学Java(5)输入与输出

    零基础学Java(5)输入与输出输入与输出读取输入要想通过控制台进行输入,首先需要构造一个与"标准输入流"System.in关联的Scanner对象。//创建输入流对象Scannerin=new

    2022年8月7日
    9
  • win10 Maven配置环境变量问题

    win10 Maven配置环境变量问题win10配置环境变量相比win7而言出现的问题要多点,不过基本的配置差不多:你可以选择配置JAVA_HOME,也可以选择不配置.但在path里面的位置就很有讲究.我这边是放在第二个.是因为我放在最后一个的时候cmd命令中mvn-v显示不是内部命令,证明没有配置好.不同电脑有不同的位置,可以从第一个开始放,依次往下尝试,就不会有问题.

    2022年7月25日
    15
  • spring aop的实现_ssh框架工作原理及流程

    spring aop的实现_ssh框架工作原理及流程Spring的AOP实现原理,酝酿了一些日子,写博客之前信心不是很足,所以重新阅读了一边AOP的实现核心代码,而且又从网上找了一些SpringAop剖析的例子,但是发现挂羊头买狗肉的太多,标题高大上,内容却大部分都是比较浅显的一些介绍,可能也是由于比较少人阅读这部分的核心代码逻辑把,然后写这部分介绍的人估计也是少之又少,不过说实话,SpringAop的核心原理实现介绍确实不太好写,里面涉及的类

    2022年9月14日
    2
  • matplotlib-bilibili,抖音很火的动态数据视频自动生成(第四节)-视频,语音合成

    matplotlib-bilibili,抖音很火的动态数据视频自动生成(第四节)-视频,语音合成

    2022年2月20日
    61
  • 运维必须掌握的27道Linux面试题

    运维必须掌握的27道Linux面试题1.解释下什么是GPL,GNU,自由软件?GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。 2.如何选择Linux操作系统版本?一般来讲,桌面用

    2022年5月13日
    69

发表回复

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

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