javaweb开发核心之应用上下文和JSP核心知识

javaweb开发核心之应用上下文和JSP核心知识

什么是应用上下文ServletContext

Javaweb作用域对象介绍和ServletContext讲解

什么是作用域对象:
  • 就是对象的生命周期,在javaweb开发里面有多个不同生命周期的对象
  • 比如:PageContext,ServletRequest,HttpSession,ServletContext;
  • 对象里面包含属性和对应的数据,所以不同作用域对象使用场景会不同
ServletContext:
  • 它代表了servlet环境的上下文,相当于一个全局存储空间
  • 同一个WEB应用程序中,所有的Servlet和JSP都可以共享同一个区域,是最大的作用域对象
    (webapps下的每个目录就是一个应用程序)
  • 四大作用域对象-用于存取数据(举个形象的例子):
    • PageContext(页面)->ServletRequest(请求)->HttpSession(会话)->【ServletContext】(应用);
  • 生命周期:在WEB服务器启动时创建,服务器关闭时销毁

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LGiqtFWZ-1615359919820)(C:\Users\阮相歌\AppData\Roaming\Typora\typora-user-images\image-20210310143948237.png)]

  • 加载应用默认参数
    • web.xml
<context-param>
	<param-name>username</param-name>
	<param-value>jack</param-value>
</context-param>
  • 获取api
ServletContext servletContext = req.getServletContext();
String url = servletContext.getInitParameter("url");
System.out.println(url);
  • 储存全局数据(只要是同个应用,都可以共享这些数据,类似map结构)
servletContext.setAttribute("appInfo","xdclass.net info");
String appInfo = (String)servletContext.getAttribute("appInfo");
System.out.println("TestServlet appInfo="+appInfo);

什么是JSP和Servlet的微妙关系

介绍什么是JSP JSP和Servlet的关系

什么是JSP
  • 全称Java Server Pages,是一种动态网页开发技术;
    • 使用JSP标签在HTML网页中插入Java相关代码,标签通常以<%开头以%>结束
    • JSP本身就是一种Servlet,JSP在第一次被访问的时候会被编译为HttpJspPage类,是HttpServlet的一个子类
    • 为什么用这个:和原生Servle 相比JSP可以很方便的编写HTML网页而不用去大量的用printin语句输出html代码
    • 通俗来说:jsp就是在html里面写java代码,servlet就是在java里面写html代码
  • JSP内置了9个对象可以直接用(先简单知道就行):out、session、response、request、config、page、application、pageContext、exception
request HttpServletRequest类的实例
    
response HttpServletResponse类的实例
    
out PrintWriter类的实例,⽤用于把结果输出⾄至网页上
    
session HttpSession类的实例
    
application ServletContext类的实例,与应⽤下文有关
    
config ServletConfig类的实例
    
pageContext PageContext类的实例,提供对JSP⻚⾯所有对象以及命名空间的访问
    
page Java类中的this关键字
    
Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象
    
JSP脚本程序

<% 代码片段 %>

<%
out.println("IP address is " + request.getRemoteAddr());
%>
JSP表达式的语法格式:(不能用分号结束)

<%= 代码片段 %>

<%=request.getRequestURL()%>
中文编码问题
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
  • JSP的现状:2015年之前很公司使用,过后互联网发展很块,各类分布式技术架构,前端框架、后端框架大量出现,性能和便利性比JSP强很多,所以基本很少企业使用]SP了,但是这个是学javaweb里面基础知识,大家可以简单学,不用花特别多时间(学校或者其他老旧的书本会花很多时间讲这个).
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%><html>
<head>
<title>hello,word</title>
    </head>
<body>
	<h4>
	<%=request.getRequestURL()%>
	</h4>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值