在没有使用JSP时,Servlet是使用响应对象写入html代码。==java中插入html代码
引入JSP后是在HTML中插入java
- JSP文件在互联网通信过程,是响应对象替代品.
- 降低将处理结果写入到响应体的开发工作量降低处理结果维护难度
- 在JSP文件开发时,可以直接将处理结果写入到JSP文件不需要手写out.print命令,在Http服务器调用JSP文件时,根据JSP规范要求自动的将JSP文件书写的所有内容通过输出流写入到响应体
- JSP文件只能存在项目的WEB文件夹下
- 通常在Servlet工作完毕后,一般通过请求转发方式
request.getRequestDispatcher("/index.jsp").forward(request, response)
向Tomcat申请调用JSP - Servlet和JSP之间的数据共享
- 使用请求作用于对象 request
JSP文件展示
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!-- 这一句指定了响应包中对应的头参数contentType -->
<html>
<head>
<title>Title</title>
</head>
<body>
</body>
</html>
在JSP文件中加入JAVA
执行标记
只有在执行标记中的内容才被当作java命令
可以写多个执行标记,并且所有执行标记都在一个域内,可以共用
<%
int num1 = 100;
int num2 = 200;
int num3 = num1 + num2;
boolean num5 = num2 >= 200 && num1 == 100;
// 还可以使用控制语句
if(num2>=num1){
} else {
}
for(int i =0;i < num1; i++){}
%>
输出标记
通知Tomcat将输出标记中【变量的值】或则输出标记中【表达式运算结果】写入到响应体
<%=java变量名%>
<%=java表达式%>
<%
int num = 1;
int num = 2;
%>
num1 + num2 = <%=num1+num2%>
导入java包
<%@ page import="com.liangwei.dao.Student"%>
<%
Student stu = new Student();
%>
学生姓名:<%=stu.getName()%>
使用if控制页面输出
<%
int age = 15;
%>
<%
if(age > 11) {
%>
<p>你好</p>
<%
}else {
%>
<p>再见</p>
<%
}
%>
for语句控制页面输出
<%
Student stu1 = new Student();
Student stu2 = new Student();
Student stu3 = new Student();
List<Student> list = new ArrayList();
list.add(stu1);
list.add(stu2);
list.add(stu3);
%>
<table>
<tr>
<td>名字</td>
<td>编号</td>
</tr>
<%
for(int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
%>
<tr>
<td>stu.getName()</td>
<td>stu.getId()</td>
</tr>
<%
}
%>
</table>