1.JSP
JSP全称Java Server Page,基于Java语言,是一种动态网页技术。
JSP使用JSP标签在HTML网页中插入Java代码。
标签通常以<%开头以%>结束。
JSP本质是简化版的Servlet,JSP在编译后就变成了Servlet。
JVM只能识别Java的类,是无法识别JSP代码的。
所以WEB服务器会将JSP编译成JVM能识别的Java类。
JSP跟Servlet区别在于,JSP常用于动态页面显示,Servlet常用于逻辑控制。
在代码中常使用JSP做前端动态页面,在接收到用户输入后交给对应的Servlet进行处理。
当然JSP也可以当做后端代码进行逻辑控制。
2.JSP基础知识
- SP文件后缀名为 *.jsp
- JSP代码需要写在指定的标签之中,比如:
<%
out.println("hellpo JSP!");
%>
<jsp:scriptlet>
代码片段
</jsp:scriptlet>
- JSP生命周期: 编译阶段 -> 初始化阶段 -> 执行阶段 -> 销毁阶段 ,此处多了一个编译阶段,是将JSP 编译成Servlet的阶段。而这个阶段也是有三个步骤的: 解析JSP文件 -> 将JSP文件转为servlet -> 编译 servlet 。
- JSP指令:是用来设置JSP整个页面属性的。格式为: <%@ directive attribute="value" %> 。JSP 中的三种指令标签
<%@ page ... %> :定义网页依赖属性,如脚本语言、error页面、缓存需求等等
<%@ include ... %> :包含其他文件
<%@ taglib ... %> :引入标签库的定义 - JSP的九大内置对象(隐式对象),这九个对象,可以不用声明直接使用。
out:页面输出
request :获得用户请求
response :服务器向客户端的回应信息
config :服务器配置,可以取得初始化参数
sSession :保存用户的信息
application :所有用户的共享信息
page :指当前页面转换后的Servlet类的实例
pageContext :JSP的页面容器
exception :表示JSP页面所发生的异常,在错误页中才起作用
3.JSP项目部署
加载的有点慢,没找到可以输入全称搜(因为太多了显示不全)
4.apache部署
5.引入依赖
先应用后确定
6.do_login.jsp
注意jsp文件所在的位置
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!-- 指定页面语言为 Java,内容类型为 HTML,字符集为 UTF-8 -->
<%@ page import="java.sql.*" %>
<!-- 导入 java.sql 包,为后续可能的数据库操作提供支持 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 定义 HTML 文档类型,采用 HTML 4.01 过渡性 DTD,支持较旧版本的浏览器 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- 设置页面内容的字符编码为 UTF-8,确保浏览器正确解析中文字符 -->
<title>Server to do the register page!</title>
<!-- 页面标题为 "Server to do the register page!" -->
</head>
<body>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
%>
<!-- 从请求参数中获取 "username" 和 "password" 字段的值,并存储在变量中 -->
<%
// 模拟登录成功与否
if (username.equals("admin") && password.equals("password")) {
response.getWriter().write("Success!");
// 如果用户名是 "admin" 且密码是 "password",输出 "Success!" 表示登录成功
} else {
response.getWriter().write("Error!");
// 否则输出 "Error!" 表示登录失败
}
%>
</body>
</html>
7.login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!-- 指定页面的语言为 Java,内容类型为 HTML,字符集为 UTF-8 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- 设置页面内容的字符编码为 UTF-8,确保浏览器正确解析中文字符 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 定义 HTML 文档类型,采用 HTML 4.01 过渡性 DTD,以支持旧版浏览器 -->
<html>
<head>
<title>User to Register Page!</title>
<!-- 定义页面标题为 "User to Register Page!" -->
</head>
<body>
<hr><br>登录页面<br>
<!-- 显示分隔线和 "登录页面" 文字 -->
<form action="do_login.jsp" method="get">
<!-- 创建一个表单,提交方式为 GET,目标页面为 do_login.jsp -->
<br>
<h1>Please input your message:</h1><br>
<!-- 显示提示信息 “Please input your message:” -->
Name:<input type="text" name="username"><br>
<!-- 创建一个文本输入框,用于输入用户名,字段名为 "username" -->
Pswd:<input type="password" name="password"><br>
<!-- 创建一个密码输入框,用于输入密码,字段名为 "password" -->
<br><br><br>
<input type="submit"> <input type="reset"><br>
<!-- 创建提交按钮和重置按钮,用于提交表单和清空表单内容 -->
</form>
</body>
</html>
8.JSP模拟登录的过程
http://localhost:8081/login.jsp