在如下一个jsp文件里面有如下的代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
hello
<% System.out.println("hello,jsp"); %>
运行后前端页面输出如下
控制台输出如下
jsp的应用场景:
在上面这个页面里面,zhangsan位置处的数据是要动态显示的。
如果是只用servlet实现需要写在后端代码 并传回前端进行展示
另外 还需要写一整个静态的html页面加上动态资源并返回
在jsp文件里写java代码来实现需要完成参数获取以及数据库连接并调用mybatis查询数据,并且会将html语句也写在同一个页面。
首先要先创建一个javaweb项目并配置 好tomcat服务器,然后才创建jsp文件
生成的java文件
就是在里面完成了servlet的工作,把html语句都进行返回,原本在servlet里面要自己实现,在这里就自动实现。
下面这种就是直接输出到控制台
这种脚本形式会直接在前端页面上进行显示输出,翻译成.java文件时如下图,可以看见别的都翻译成了out.write("")形式作为response响应数据返回浏览器进行解析,而out.print(""),不光是字符串,也可以是一个变量。
在.java文件里面就会出现如下成员变量
使用如下的List代替数据库查询
List brands = new ArrayList();brands.add(new Brand(1,"三只松鼠","三只松鼠",100,"三只松鼠,好吃不上火",1));brands.add(new Brand(2,"优衣库","优衣库",200,"优衣库,服适人生",0));brands.add(new Brand(3,"小米","小米科技有限公司",1000,"为发烧而生",1));
定义相对应的pojo类并设置setter和getter还有无参以及有参构造的方法等等
新开一个brand.jsp文件,里面使用一个List模拟数据库查询的结果
<%@ page import="org.example.pojo.Brand" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %><%--Created by IntelliJ IDEA.User: AdministratorDate: 2023/3/21Time: 18:11To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%//查询数据库List brands = new ArrayList();brands.add(new Brand(1,"三只松鼠","三只松鼠",100,"三只松鼠,好吃不上火",1));brands.add(new Brand(2,"优衣库","优衣库",200,"优衣库,服适人生",0));brands.add(new Brand(3,"小米","小米科技有限公司",1000,"为发烧而生",1));
%>
Title
序号 品牌名称 企业名称 排序 品牌介绍 状态 操作 <%for(int i=0;i<%=brand.getId()%> <%=brand.getBrandName()%> <%=brand.getCompanyName()%> <%=brand.getOrdered()%> <%=brand.getDescription()%> <%if(brand.getStatus()==1){//显示启用%><%="启用"%> <%}else{//显示禁用%><%="禁用"%> <%}%>修改 删除 <%}%>
上述代码最终被翻译成了如下的.java文件,在这上面的代码中截断了多个{}到下面就又完整了
上面的代码效果如下
以上就是使用jsp脚本进行开发的一个小案例
谁用谁知道这个jsp脚本写起来麻烦的一批
上面体现了是单独使用Servlet和单独使用JSP开发的坏处,将Servlet和JSP结合起来又可以解决一部分的问题,又产生两门新的技术EL表达式和JSTL标签。
上一篇:一切喜怒哀乐都来自于你的认知