文章目录

  • javaweb开发核心之应用上下文和JSP核心知识
  • 什么是应用上下文ServletContext
  • Javaweb作用域对象介绍和ServletContext讲解
  • 什么是作用域对象:
  • ServletContext:
  • 什么是JSP和Servlet的微妙关系
  • 介绍什么是JSP JSP和Servlet的关系
  • 什么是JSP
  • JSP脚本程序
  • JSP表达式的语法格式:(不能用分号结束)
  • 中文编码问题


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

什么是应用上下文ServletContext

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

什么是作用域对象:

  • 就是对象的生命周期,在javaweb开发里面有多个不同生命周期的对象
  • 比如:PageContext,ServletRequest,HttpSession,ServletContext;
  • 对象里面包含属性和对应的数据,所以不同作用域对象使用场景会不同

ServletContext:

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

java上下游 javaweb上下文_java上下游

  • 加载应用默认参数
  • 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>