SpringBoot03 JSP基本原理与使用
程序员文章站
2022-06-01 23:28:58
...
1.介绍
JSP 本质上就是⼀个 Servlet,JSP 主要负责与⽤户交互,将最终的界⾯呈现给⽤户,
HTML+JS+CSS+Java 的混合⽂件。
当服务器接收到⼀个后缀是 jsp 的请求时,将该请求交给 JSP 引擎去处理,每⼀个 JSP ⻚⾯第⼀次被访
问的时候,JSP 引擎会将它翻译成⼀个 Servlet ⽂件,再由 Web 容器调⽤ Servlet 完成响应。
单纯从开发的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程序。
2. 案例
下面是一个基本的演示,需要User类,包含以下几种方法的说明。
<%%>
<%=%>
<%!%>
<% for %>
<%--
Created by IntelliJ IDEA.
User: w1738
Date: 2020/5/17
Time: 17:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="com.entity.User" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%response.getWriter().write("<h1>直接插入java语句</h1>"); %>
<%String str = "LoginError";%>
<%
response.getWriter().write("I wanna to show the str:"+str);
%>
<%response.getWriter().write("<h1>创建函数与调用函数,直接输出数据</h1>");%>
<%!
String createStr(){
return "这是一条函数返回的String";
}
%>
<% String str1 = createStr();%>
<%=str1%>
<%=createStr()%>
<table>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<%
response.getWriter().write("<h1>使用for循环</h1>");
List<User> list = new ArrayList<>();
list.add(new User("Id001","张三","11"));
list.add(new User("Id002","李四","22"));
list.add(new User("Id003","王五","13"));
list.add(new User("Id004","赵六","14"));
for(int i=0;i<list.size();i++){
%>
<tr>
<td>
<%=list.get(i).getAccount()%>
</td>
<td>
<%=list.get(i).getNickName()%>
</td>
<td>
<%=list.get(i).getPassWord()%>
</td>
</tr>
<%}%>
</table>
</body>
</html>
上面的运行中有一个很大的问题就是 "使用for循环"和“这是一条函数返回的String”两条语句的顺序出现了问题,暂未找到原因。