JSP 教程学习笔记

1. JSP 简介

JavaServer Pages(JSP)是一种动态的Web页面技术,它是由Sun Microsystems开发的一种基于Java语言的服务器端脚本技术。相比于传统的静态HTML页面,JSP页面更具有灵活性和交互性,能够通过调用Java代码、数据库查询等方式来动态地生成内容。

2. JSP 标签

JSP标签是用于在JSP页面中插入Java代码的一种特殊语法,主要分为以下几类:

2.1 指令标签

指令标签用于设置JSP页面的一些特性,如页面语言、编码方式、导入类库等。常见的指令标签有:

jspCopy Code
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*" %>

2.2 动作标签

动作标签用于向JSP页面中添加动态内容,如JavaBean对象、表单元素等。常见的动作标签有:

jspCopy Code
<jsp:useBean id="user" class="com.example.User" scope="session" /> <form action="login.jsp" method="post"> <input type="text" name="username" value="<%= user.getUsername() %>" /> <input type="password" name="password" /> <input type="submit" value="登录" /> </form>

2.3 表达式标签

表达式标签用于在JSP页面中嵌入Java表达式,并将其输出到页面上。常见的表达式标签有:

jspCopy Code
<p>当前时间:<%= new java.util.Date() %></p>

3. JSP 内置对象

JSP页面中提供了一些内置对象,可以方便地访问常用的JavaAPI。常见的内置对象有:

3.1 request 对象

request对象代表了客户端的请求,可以通过它获取请求参数、设置请求属性等。常见的操作有:

jspCopy Code
<% String username = request.getParameter("username"); request.setAttribute("username", username); %>

3.2 session 对象

session对象代表了当前用户的会话,可以通过它存储用户信息、判断用户是否已登录等。常见的操作有:

jspCopy Code
<% User user = (User) session.getAttribute("user"); if (user != null) { // 已登录 } else { // 未登录 } %>

3.3 out 对象

out对象代表了JSP页面的输出流,可以通过它向页面输出内容。常见的操作有:

jspCopy Code
<% out.println("Hello, world!"); %>

4. JSP 实例

以下代码演示了如何通过JSP实现一个简单的登录页面:

jspCopy Code
<%@ page language="java" contentType="text/html; charset=UTF-8" import="com.example.User" %> <html> <head> <title>登录</title> </head> <body> <h1>登录</h1> <form action="login.jsp" method="post"> <label>用户名:</label> <input type="text" name="username" /> <br /> <label>密码:</label> <input type="password" name="password" /> <br /> <input type="submit" value="登录" /> </form> <%-- 处理用户提交的表单数据 --%> <% String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(username, password); if (user.isValid()) { session.setAttribute("user", user); out.println("登录成功!"); } else { out.println("登录失败,请检查用户名和密码。"); } %> </body> </html>

在该实例中,通过表单元素获取用户输入的用户名和密码,然后创建一个User对象进行验证。如果验证通过,则将User对象存储到session中,表示用户已登录。如果验证失败,则输出错误提示信息。