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


相关推荐

  • LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一、LVS简介    LVS(LinuxVirtualServer)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求…

    2022年4月5日
    55
  • 微信小程序转二维码教程_小程序码转换成二维码

    微信小程序转二维码教程_小程序码转换成二维码微信小程序转二维码方法分享需要转码的可以看看这个东西是看个人需求的,618就要来了,各种活动也将来袭为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法首先,你需要在电脑上打开https://mp.weixin.qq.com注册一个个人微信订阅号,其次,登陆微信电脑版,微信号关注你注册的订阅号,这是重点注册好了,接下来就是详细步骤1首页-新建群发-选择自建图文-最上边点小程序2选择你要转码的小程序名字或者微信号如“来客有礼”,点下一步3点击“获取更多页

    2022年9月5日
    3
  • 集群分为几种,用的软件分别是什么?[通俗易懂]

    集群分为几种,用的软件分别是什么?[通俗易懂]集群分为几种,用的软件分别是什么?补充:涉及的组件1.1、apache跨平台的网页服务器,主要使用它做静态资源服务器,也可以做代理服务器转发请求1.2、ngnix高性能的HTTP和反向代理服务器,ngnix处理能力相当于apache的10倍。1.3、lvsLinux虚拟服务器,可以实现LINUX平台下的简单负载均衡1.4、HAProxy提供高可用性、负载均衡以及基于TCP和HT…

    2022年10月10日
    0
  • pcanywhere设置主控端_redis修改端口

    pcanywhere设置主控端_redis修改端口  有些防火墙只允许一个pcAnywhere被控端使用一个IP端口。而防火墙后面的其它pcAnywhere被控端必须使用另外的端口。希望知道如何更改这些端口。   更改pcAnywhereIP端口需要编辑Windows注册表。如果需要频繁的执行此操作,创建.reg文件是最安全也是最方便的更改方法。尤其对于那些可能需要连接_blank”>防火墙后多个被控端的主控端而

    2022年9月12日
    0
  • Object与json字符串的相互转换[通俗易懂]

    Object与json字符串的相互转换[通俗易懂]第一步:引入fastjson的依赖jar包注:maven项目,直接在pom.xml中进行配置即可。注:如果引入此版本的依赖,导致项目不能启动(报错:找不到启动类);那么可以换一个版本的fastjson即可。给出文字版:<!–fastjson–><dependency><groupId>com.alibaba</…

    2022年10月10日
    0
  • 监督学习——决策树理论与实践(下):回归决策树(CART)[通俗易懂]

    监督学习——决策树理论与实践(下):回归决策树(CART)

    2022年4月3日
    50

发表回复

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

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