初识JSP

2024-06-25 23:14:46 浏览数 (1)

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腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞