在没有使用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>
