目录
简答题:jsp中静态include和动态include的区别是什么?
静态 include:
- 静态 include 是在 JSP 页面编译为 Servlet 之前就被处理的。
- 静态 include 在 JSP 页面的源代码中使用
<%@ include file="includeFile.jsp" %>
标签来包含另一个 JSP 文件的内容。- 静态 include 将包含文件的内容嵌入到主 JSP 页面的源代码中。
- 静态 include 的结果是在编译时确定的,包含的内容不会随着请求的变化而改变。
动态 include:
- 动态 include 是在 JSP 页面被请求时,由服务器动态处理的。
- 动态 include 使用
<jsp:include page="includeFile.jsp" />
标签将另一个 JSP 文件的内容包含到主 JSP 页面中。- 动态 include 的结果是在运行时确定的,可以根据请求或其他条件来包含不同的内容。
- 动态 include 允许更灵活地控制包含的内容,可以根据需要动态地生成包含的内容。
静态 Include:包含的内容在编译时确定,不会随请求的变化而改变。
动态 Include:包含的内容在运行时确定,可以根据请求或其他条件动态生成不同的内容。
简答题:jsp有哪些内置对象,作用分别是什么?
request:用于处理客户端发送的 HTTP 请求,包括获取请求参数、处理表单数据等。
response:用于构建和发送 HTTP 响应到客户端,包括设置响应头、写入响应内容等。
out:用于向客户端输出内容,通常用于生成 HTML 或其他文档。
session:用于在不同请求之间存储和获取用户的会话信息,实现会话管理和状态跟踪。
application:代表整个 Web 应用程序的上下文,允许在不同 Servlet/JSP 之间共享数据。
config:包含有关当前 JSP 页面配置的信息,通常在初始化 JSP 时使用,例如获取初始化参数。
pageContext:提供了对页面范围、请求、会话、应用程序范围对象的访问,以及其他 JSP 高级功能,如作用域管理。
page:当前 JSP 页面的引用,通常用于调用自定义标签库中的标签。
exception:用于捕获页面中可能抛出的异常,可以用于错误处理和异常信息的显示。
简答题:Request对象的主要方法有哪些?
getAttribute(String name):获取请求属性的值,通常用于在请求范围内存储和检索数据。
getAttributeNames():返回包含所有请求属性名称的枚举。
getCharacterEncoding():获取请求中的字符编码方式。
getContentLength():获取请求主体的长度。
getContentType():获取请求的内容类型,通常用于判断请求的数据类型。
getInputStream():获取请求的输入流,用于读取请求主体的内容。
getParameter(String name):获取请求参数的值。
getParameterNames():返回包含所有请求参数名称的枚举。
getParameterValues(String name):获取具有多个值的请求参数的值,通常用于处理多选框等场景。
getProtocol():获取请求使用的协议和版本。
getMethod():获取请求的 HTTP 方法,如 GET、POST 等。
getServerName():获取服务器的名称或主机名。
getServletPath():获取调用当前 Servlet/JSP 的路径。
getRemoteAddr():获取客户端的 IP 地址。
getRemoteHost():获取客户端的主机名。
getRealPath(String Path):获取在服务器上的真实文件路径,通常用于访问服务器上的文件。
getCookies():获取与请求关联的所有 Cookie 对象。
setAttribute(String key, Object obj):设置请求属性,可以在请求范围内存储数据。
isSecure():判断请求是否通过安全连接(HTTPS)发送。
isRequestedSessionIdFromCookie():检查请求是否使用 Cookie 来维护会话 ID。
isRequestedSessionIdFromURL():检查请求是否使用 URL 重写来维护会话 ID。
isRequestedSessionIdFromURL():检查请求是否使用 URL 参数来维护会话 ID。