jsp

Jsp

1.jsp产生的原因
    在web开发中,HTML只能写一些静态的页面,无法在其中嵌入从数据库中获得的数据。为了解决这个问题,因此引入的jsp。
2.什么是jsp
    jsp的全名是Java Server Page,是一种建立在Servlet规范上的胴体网页开发技术。即jsp实质上就是servlet。
3.jsp可以做什么
    在jsp文件中,HTML代码和Java代码可以共同存在,其中html代码用来实现页面中静态内容的展示,Java代码来实现网页中动态内容的展示。
注:根据上面的内容,可以得知,学习jsp,主要是学习:如何在jsp文件中嵌入Java代码。

jsp的运行原理

jsp的本质就是servlet。
过程:
1.当用户第一次在浏览器中输入要的访问的jsp资源,这时web应用服务器将会去在它目录中work文件夹中查找是否已经解析了该jsp,发现没有相应的Java文件。
2.这时,web应用服务器将它的web.xml文件中,查找处理的servlet(org.apache.jasper.servlet.JspServlet),将请求的jsp翻译文servlet。并保存到Tomcat的work目录中。

如:第一次访问–>helloServlet.jsp—->helloServlet_jsp.java—>编译运行

注:web.xml处理jsp的servlet配置如下:

<servlet>
            <servlet-name>jsp</servlet-name>
            <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
            <init-param>
                <param-name>fork</param-name>
                <param-value>false</param-value>
            </init-param>
            <init-param>
                <param-name>xpoweredBy</param-name>
                <param-value>false</param-value>
            </init-param>
            <load-on-startup>3</load-on-startup>
        </servlet>

        <servlet-mapping>
            <servlet-name>jsp</servlet-name>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspx</url-pattern>
        </servlet-mapping>

jsp的脚本和注释

1.jsp的脚本:指的就是在jsp文件中嵌入的Java代码。

2.在jsp文件中嵌入Java代码的方式:
    a.<%java代码%>:内部的Java代码翻译到service方法的内部。
    b.<%=Java变量或者表达式%>:会被翻译为service方法的内部out.print();
    c.<%!java代码%>:会被翻译为servlet的成员内容(包括成员变量和成员函数)
3.jsp注释--->不同的注释可见范围是不同的
    a.html注释:
        <!-- 注释内容 -->
        可见范围:jsp源码,翻译后的servlet,页面显示html源码
    b.Java注释:
        //或者/**/
        可见范围:jsp源码,翻译后的servlet
    c.jsp注释:
        <%-- 注释内容 --%>
        可见范围:jsp源码

jsp指令(3个)

1.jsp指令:指的是指导jsp翻译和运行的命令
2.具体的指令
    2.1page指令
        格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%>
        常用属性:
        language:jsp脚本中可以嵌入的语言种类(ps:只支持java)
        pageEncoding:当前jsp中文件本身的编码,内部包含了contentType
        contentType:设置response.setContentType(text/html;charset=UTF-8)
        session:是否jsp翻译是自动创建session
        import:导入Java包
        errorPage:当前页面为出错后跳转到那个页面
        isErroePage:当前页面是一个处理错误的页面
    2.2include指令(静态包含)
        格式:<%@ include file="被包含的文件地址"%>
        ps:这个指令可以,将一个jsp页面包含到另一个jsp页面中。
    2.3taglib指令
        格式:<%@ taglib uri="标签库地址" prefix="前缀"%>
        ps:该指令用于在jsp页面中引入标签库

jsp的内置/隐式对象(9个)

1.在jsp被翻译为servlet后,service方法中有九个对象定义并且初始化完毕,因此在jsp中可以直接使用这九个对象
2.具体的内置对象
    2.1out(JsWriter):主要用于页面输出
    2.2request(HttpServlet):主要用于得到用户请求。
    2.3response(HttpServletResponse):服务器向客户端的回应信息。
    2.4config(ServletConfig):Servlet的配置,可以获得Servlet的初始化参数和获得ServletContext对象
    2.4session(HttpSession):用来保存用户信息
    2.5application(ServletContext):web应用的共享信息
    2.6pageContext:jsp的页面容器
    2.7exception:表示jsp页面所发生的异常,在错误页起作用
    2.8page(Object):指页面转换后的servlet类的实例。
3.内置对象的介绍
    3.1out对象
        out对象的作用是向客户端输出内容(out.write())
        out缓冲区默认是8kb,可以设置为0代表关闭out缓冲区,内容将直接写到respons缓冲区中
    ps:out.write()和response.getwrite().write()之间的区别:out.write是将内容写到out缓冲区,最后在写到response缓冲区。而response.getwrite().write()是直接将内容写到response缓冲区中。
3.2pageContext对象
    pageContext对象表示jsp、页面上下文对象,而page指的jsp翻译成servlet后的实例对象。
    a.pageContext是一个域对象
        setAttibute(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域中获取属性,在某个域中获取后将不在向后寻找。    
    b.可以通过pageContext获得其他8大内置对象
        例:  获取请求对象
            pageContext.getRequest()    
ps:域对象的总结(4个)
    四个作用域对象及作用范围分别是:
        pageContext:当前jsp页面范围
        request:一次请求
        session:一次会话
        application(ServletContext):整个web应用

jsp标签

1.页面包含(动态包含):<jsp:include page="被包含的页面"/>   
2.请求转发:<jsp:forward page="要转发的资源"/>

ps:动态包含与动态包含的区别:
    首先:动态包含是使用标签来进行的,他的格式为:<jsp:include page="被包含的页面"/>;
    而静态包含是通过指令来进行的,他的格式是:<%@ include file="被包含的文件地址"%>;他们都可以完成将一个页面包含到另一个页面的效果。
    区别:
        动态包含是将请求的页面先解析为servlet,然后再执行到<jsp:include page="被包含的页面"/>时,再将被包含的页面解析为servlet,包含进去请求的页面。(即会产生两个servlet)
        静态包含则是先将两个页面拼接到一个jsp,后面再解析该jsp。(即只会产生一个servlet)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 智慧社区背景与挑战 随着城市化的快速发展,社区面临健康、安全、邻里关系和服务质量等多方面的挑战。华为技术有限公司提出智慧社区解决方案,旨在通过先进的数字化技术应对这些问题,提升城市社区的生活质量。 2. 技术推动智慧社区发展 技术进步,特别是数字化、无线化、移动化和物联化,为城市社区的智慧化提供了可能。这些技术的应用不仅提高了社区的运行效率,也增强了居民的便利性和安全性。 3. 智慧社区的核心价值 智慧社区承载了智慧城市的核心价值,通过全面信息化处理,实现对城市各个方面的数字网络化管理、服务与决策功能,从而提升社会服务效率,整合社会服务资源。 4. 多层次、全方位的智慧社区服务 智慧社区通过构建和谐、温情、平安和健康四大社区模块,满足社区居民的多层次需求。这些服务模块包括社区医疗、安全监控、情感沟通和健康监测等。 5. 智慧社区技术框架 智慧社区技术框架强调统一平台的建设,设立数据中心,构建基础网络,并通过分层建设,实现平台能力及应用的可持续成长和扩展。 6. 感知统一平台与服务方案 感知统一平台是智慧社区的关键组成部分,通过统一的RFID身份识别和信息管理,实现社区服务的智能化和便捷化。同时,提供社区内外监控、紧急救助服务和便民服务等。 7. 健康社区的构建 健康社区模块专注于为居民提供健康管理服务,通过整合医疗资源和居民接入,实现远程医疗、慢性病管理和紧急救助等功能,推动医疗模式从治疗向预防转变。 8. 平安社区的安全保障 平安社区通过闭路电视监控、防盗报警和紧急求助等技术,保障社区居民的人身和财产安全,实现社区环境的实时监控和智能分析。 9. 温情社区的情感沟通 温情社区着重于建立社区居民间的情感联系,通过组织社区活动、一键呼叫服务和互帮互助平台,增强邻里间的交流和互助。 10. 和谐社区的资源整合 和谐社区作为社会资源的整合协调者,通过统一接入和身份识别,实现社区信息和服务的便捷获取,提升居民生活质量,促进社区和谐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值