JAVAWeb基础JSP
0x00 版权声明
JAVA基础系列是笔者学习@炼石星球的笔记,大部分文字描述取自星球内发布的教程文件,仅作学习。
0x01 什么是JSP
JSP全称Java Server Page,基于Java语言,是一种动态网页技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP本质是简化版的Servlet,JSP在编译后就变成了Servlet。JVM只能识别Java的类,是无法识别JSP代码的。所以WEB服务器会将JSP编译成JVM能识别的Java类。 JSP跟Servlet区别在于,JSP常用于动态页面显示,Servlet常用于逻辑控制。在代码中常使用JSP做前端动态页面,在接收到用户输入后交给对应的Servlet进行处理。当然JSP也可以当做后端代码进行逻辑控制
0x02 JSP基础知识
- JSP文件后缀名为 *.jsp
- JSP代码需要写在指定的标签之中:
1 2 3 4 5 6 7
| <% out.println("hellpo JSP!"); %>
<jsp:scriptlet> 代码片段 </jsp:scriptlet>
|
- JSP生命周期: 编译阶段 -> 初始化阶段 -> 执行阶段 -> 销毁阶段 ,此处多了一个编译阶段,是将JSP编译成Servlet的阶段。而这个阶段也是有三个步骤的: 解析JSP文件 -> 将JSP文件转为servlet -> 编译servlet
0x03 运行JSP程序
第一步,引入jar包
在之前的章节:JAVAWeb基础第一个Servlet、JAVAWeb基础过滤器基础上,点击左上角 File - Project Structure - Libraries ,点击 + 号,进入Tomcat的lib文件夹下,将依赖全部引入:
第二步,编写代码
login.jsp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<http://www.w3.org/TR/html4/loose.dtd>"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>User to Register Page!</title> </head> <body> <hr><br>登录页面<br> <form action="do_login.jsp" method="get"> <br> <h1>Please input your message:</h1><br> Name:<input type="text" name="username"><br> Pswd:<input type="password" name="password"><br> <br><br><br> <input type="submit"> <input type="reset"> <br> </body> </html>
|
do_login.jsp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<http://www.w3.org/TR/html4/loose.dtd>"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Server to do the register page!</title> </head> <body> <% String username=request.getParameter("username"); String password=request.getParameter("password"); %> <%
if(username.equals("admin") && password.equals("password")){ response.getWriter().write("Success!"); }else { response.getWriter().write("Error!"); } %> </body> </html>
|
第三步,运行项目
运行之前,由于在前面配置了过滤器,所以需要删除之前在web.xml注册的过滤器,使之可以访问到login页面:
启动项目,访问login.jsp页面:
在登录页面输入正确和错误的口令: