前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识JSP

初识JSP

原创
作者头像
会洗碗的CV工程师
发布2024-06-25 23:14:46
1510
发布2024-06-25 23:14:46
举报
文章被收录于专栏:JSP

JSP(jspdemo)

JSP(全称Java Server Pages)是一个基于Java技术的动态网页开发标准,由Sun Microsystems公司主导创建。以下是关于JSP的详细概念:

1. 定义

  • JSP是一种动态网页技术标准,它允许在静态HTML页面中嵌入Java代码,使网页内容能够动态生成。

2. 工作原理

  • 当Web服务器接收到一个请求,需要由JSP处理时,JSP引擎会将请求传递给JSP编译器。
  • JSP编译器将JSP页面编译成一个Java Servlet。
  • 编译得到的Java Servlet代码被JSP引擎加载到内存中,并创建一个实例对象。
  • 每当有新的请求到达时,服务器会创建一个新的线程来处理该请求,并调用JSP的_service()方法来处理。
  • JSP引擎将动态生成的内容转换为HTML,并将响应返回给客户端。

3. 特性

  • 跨平台:由于JSP是基于Java的,因此它具有Java的跨平台特性,可以在不同的操作系统上运行。
  • 业务代码分离:JSP使用HTML来设计和格式化静态页面内容,而使用JSP标签来实现动态部分,业务代码则通常使用servlet、struts、springmvc等业务控制层来处理,实现了业务层和视图层的分离。
  • 组件重用:在JSP中,可以使用JavaBean编写业务组件,这些组件可以重复使用或应用到其他应用程序中。
  • 继承Java Servlet功能:JSP的本质是servlet,因此它拥有servlet的所有功能。
  • 预编译:用户首次访问JSP页面时,服务器会对JSP页面代码进行编译,并保存编译后的结果,下次访问时直接执行编译过的代码,提升了访问速度。

4. 应用场景

  • 前端页面展示与交互:在Web应用开发中,JSP负责生成HTML、XML或其他标记语言格式的前端页面内容。
  • 后台服务接口与数据绑定:JSP可以作为后台服务的API文档展示页面,并实现动态的数据绑定。
  • 数据统计报表与可视化:结合Java Web框架和第三方报表工具,JSP能够生成丰富的图表报告。
  • 个性化定制与国际化支持:JSP允许根据不同的浏览器环境、操作系统和语言习惯动态调整输出内容。
  • 单点登录与权限管理:结合Java Security API和身份认证框架,JSP可用于实现单点登录和权限管理功能。

5. 组成

  • JSP包含JSP指令、JSP脚本元素和变量、JSP动作以及JSP标签库等部分。

总结来说,JSP是一种功能强大的动态网页开发技术,它基于Java平台,具有跨平台、业务代码分离、组件重用等特性,广泛应用于Web应用开发、数据统计报表与可视化、个性化定制与国际化支持等领域。

请求转发

什么是请求转发

请求转发是服务端的一种请求方式,相当于在服务端中直接请求某个资源。

RequestDispatcher dispatcher = request.getRequestDispatcher("/test.jsp");

dispatcher.forward(request,response);

简写方式:

request.getRequestDispatcher("/test.jsp").forword(request,response);

请求转发与重定向的区别

· 请求转发对于客户端浏览器而言是在一次请求与响应中完成,而重定向是在两次请求两次响应中完成。

· 请求转发并不会改变客户端浏览器的地址栏中的内容。而重定向会改变客户端浏览器地址栏中的内容。

· 请求转发可以使用request对象传递数据,而重定向不能使用request对象传递数据。

· 如果是处理的DML操作,建议使用重定向方式为客户端浏览器产生响应,可以解决表单重复提交现象。

请求转发案例(LanguageServlet)

需求:在Servlet中获取客户端浏览器所支持的语言,并通过JSP页面将客户端浏览器所支持的语言响应给客户端浏览器

获取语言:request.getHeader(“Accept-Language”)

请求转发:request.getRequestDispatcher("/showMsg.jsp").forword(request,response);

JSP中的四大作用域对象

作用域:“数据共享的范围”,也就是说数据能够在多大的范围内有效。

对象名称

作用范围

application

整个应用都有效

session

在当前会话中有效

request

在当前请求中有效

page

在当前页面有效

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JSP(jspdemo)
    • 1. 定义
      • 2. 工作原理
        • 3. 特性
          • 4. 应用场景
            • 5. 组成
            • 请求转发
              • 什么是请求转发
                • 请求转发与重定向的区别
                  • 请求转发案例(LanguageServlet)
                  • JSP中的四大作用域对象
                  相关产品与服务
                  腾讯云 BI
                  腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档