浅谈jsp

本文详细介绍了JSP技术,包括它的本质——Servlet程序,以及其最大的特点,允许在HTML中嵌入Java代码。文章讨论了JSP的三大组成部分:HTML、CSS、JavaScript以及Java代码和JSP标签。此外,还详细阐述了JSP的语法,如指令、脚本、注释和动作,并特别讲解了include和forward动作。最后,文章提到了JSP的9个内置对象,这些对象使得JSP在动态网页开发中更加便捷和高效。
摘要由CSDN通过智能技术生成

1.1、什么是JSP

JSP 全称是 Java Servlet Pages,它是和 servlet 技术一样,都是 SUN 公司定义的一种用于动态开发 web 资源的技术。

JSP 这门技术最大的特点在于,写 JSP就像在写 html ,但:它相比 html 而言,html 只能为用户提供静态数据,而 JSP 技术允许在页面中嵌套 java 代码,为用户提供动态数据。

jsp=html+css+javascript+java代码+jsp标签(servlet)

1.2、为什么需要JSP

我们在之前的学习中,经常这样写:

相比Servlet 而言,servlet 很难对数据进行排版(需要写很多的标签、换行等),而 JSP 出了可以用 java 代码产生动态数据的同时,也很容易对数据进行排版,JSP就是替代Servlet输出HTML的。

1.3、JSP的本质

jsp页面本质上是一个Servlet程序。

如果是第一次访问该 jsp 文件,web 服务器就会把 该 jsp 文件翻译成一个同名的 Servlet 文件,然后再把 class 加载进内存,如果是第二次(或者以后)访问,就直接访问内存中的实例,因此 jsp 也是单例,所以第一次访问 jsp 网站的速度比较慢。如果这个 jsp 文件被修改了,就相当于重新访问该 jsp 文件。

例如:新建一个a.jsp如下:

<%@ page contentType="text/html;charset=GBK" language="java" isErrorPage="true"%><!DOCTYPE html><html><head><title>a.jsp</title></head><body>    <h1>我是a.jsp</h1>    <%       String s = "HelloWorld";       out.println(s);    %></body></html>

当我第一次访问时,找到我们项目的部署位置:

然后找到Catalina目录:..\work\Catalina\localhost\JspWeb\org\apache\jsp

package org.apache.jsp;
import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;
public final class a_jsp extends org.apache.jasper.runtime.HttpJspBase    implements org.apache.jasper.runtime.JspSourceDependent,                 org.apache.jasper.runtime.JspSourceImports {
  private static final javax.servlet.jsp.JspFactory _jspxFactory =          javax.servlet.jsp.JspFactory.getDefaultFactory();
  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;
  private static final java.util.Set<java.lang.String> _jspx_imports_packages;
  private static final java.util.Set<java.lang.String> _jspx_imports_classes;
  static
Session 是 Web 开发中非常重要的一个概念,它可以用来保存用户的会话数据,同时也可以用来实现用户登录等功能。下面我将浅谈 Session 的使用。 1. Session 的概念 Session 是指用户与 Web 服务器之间建立的一种连接,在这个连接中,服务器可以保存用户的会话数据,而且这些数据只能被当前用户访问。Session 的实现一般基于 Cookie 或 URL 重写。 2. Session 的使用 在 Java 中,我们可以通过 HttpSession 接口来操作 Session。具体使用如下: (1)在 JSP 页面中,通过 request 对象获取 HttpSession 对象: ``` <% HttpSession session = request.getSession(); %> ``` (2)在 Servlet 中,通过 request 对象获取 HttpSession 对象: ``` HttpSession session = request.getSession(); ``` (3)向 Session 中存储数据: ``` session.setAttribute("key", "value"); ``` (4)从 Session 中获取数据: ``` String value = (String) session.getAttribute("key"); ``` (5)从 Session 中删除数据: ``` session.removeAttribute("key"); ``` (6)使 Session 失效: ``` session.invalidate(); ``` 3. Session 的注意事项 (1)Session 的生命周期默认为 30 分钟,可以通过设置 web.xml 文件中的 session-timeout 参数来修改。 (2)Session 中保存的数据必须是可序列化的。 (3)Session 中保存的数据不要过多,否则会占用过多的内存资源。 (4)在使用 Session 的时候,要注意避免出现并发访问的问题。 4. 总结 Session 是 Web 开发中非常重要的一个概念,通过它我们可以保存用户的会话数据,实现用户登录等功能。在使用 Session 的时候,我们需要注意它的生命周期、数据类型、数据量以及并发访问等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值