客户端可以直接访问servlet与jsp
jsp的本质就是一个servlet,jsp就是一个与用户进行交互,将最终的界面交给用户看的一个将html与css与js与java联系在一起的混合文件
可以通过返回(resp)页面(指html源码)一行一个resp.getWriter().write("<html>");
当然这样还是太麻烦了,所以接下来咋们讲讲jsp的相关操作
jsp的操作流程
jsp通过tomcat将其转换成servlet的形式
html与jsp之间的区别
html里面不可以写java代码,但是jsp可以写java代码
有三种方式
1.JSP脚本
在jsp里面写java代码的方法
<%
我是java代码
%>
在其中输出的数据在控制台输出,同时当我们查看页面源代码的时候会发现页面上没有显示你的java代码
<%-- Created by IntelliJ IDEA. User: mr.wang Date: 2021/10/24 Time: 14:17 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> $END$ <% String str = "hello"; System.out.println(str); %> </body> </html>
2.JSP声明
<%!
定义java方法
%>
在上面那个方法不可以定义方法,只可以在这个里面定义方法,但是在上面那个我们可以调用方法,而在这个里面我们不可以调用方法
3.JSP表达式:将java代码直接展示在html页面
<%=
java变量
%>
通过这三个可以做到用java在html里面输出java的代码
这样的话,在我们访问这个网站的时候就可以同时访问到他的页面与数据
在jsp里面完成循环输出信息到html页面
<%@ page import="java.util.List" %> <%@ page import="java.util.ArrayList" %><%-- Created by IntelliJ IDEA. User: mr.wang Date: 2021/10/24 Time: 14:17 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> $END$ <% List<String> name=new ArrayList<>(); name.add("老王"); name.add("老刘"); name.add("老李"); List<Integer> age=new ArrayList<>(); age.add(18); age.add(19); age.add(20); %> <tr> <th>姓名</th> <th>年龄</th> </tr> <% for(int i=0;i<name.size();i++){ %> <tr> <td> <%= name.get(i) %> <%= age.get(i) %> </td> </tr> <% } %> </body> </html>
将java与html组合在一起
甚至咱们可以在jsp里面调用其他的class里面的结构,属性,方法,当然要记得get