JSP = HTML + Java

目的是为了简化开发,其本质是一个Servlet

快速入门

步骤:

1、导包

2、创建文件

3、编写程序

得到结果:

JSP脚本(用于在JSP页面里面定义Java代码)

JSP脚本分类:

1、<%...%>——内容会直接放到_jspService()方法中

2、<%=...%>——内容会放到out.print()中,作为out.print()的参数

3、<%!...%>——内容会放到_jspService()方法之外,被类直接包含

JSP脚本里面的Java代码是可以截断的

案例:使用JSP脚本展示品牌数据

<%
for(int i=0;i<length;i++)
{
%>
放置表单相关代码
例如:
<td><%=brand.getId()%></td>获取相应内容
<%
}
%>

JSP缺点

1、书写麻烦,有时需要将Java代码切断

2、阅读性低

3、复杂度高:运行需要依赖于各种环境

4、占内存和磁盘

5、调试困难

6、不利于团队协作

目前主要利用Servlet+JSP的应用方式

EL表达式

主要功能:获取数据

Javaweb中的四大域对象:

1、page:当前页面有效

2、request:当前请求有效

3、session:当前会话有效

4、application:当前应用有效

el表达式获取数据,会依次从这4个域中寻找,直到找到为止

JSTL标签

需要导入相关导包

c:if标签——来完成逻辑判断,替换Java if else

c:forEach标签——相当于for循环(items:被遍历的容器==========var:遍历产生的临时变量)

JSTL标签用${引用的元素名称}代替了JSP中<%=函数名称%>

对于forEach循环,在JSTL中有两种表示方法:

1、

<c:forEach items="${}" var="a">
<tr align="center">
<td>${a.id}</td>
<td>${a.name}</td>
</tr>
</c:forEach>

2、

<c:forEach begin="1" end="10" step="1" var="i">
${i}
</c:forEach>

MVC模式和三层架构

MVC是一种分层开发的模式

优点:职责单一,互不影响;有利于分工合作;有利于组件重用

三层架构

三大框架

javaweb代码需要遵循MVC模式和三层架构的思想

准备环境

在创建完成Maven项目之后,记得将需要用到的包根据之前的那个网站导入到pom.xml文件中,,,对了,一定要记得刷新哦!

接着,为了保证代码的完整性、规范性和可读性,需要根据上述要求,创建三层架构,如图所示:

Web层······Service层······Dao层

Dao层

Brandmapper:List selectAll();

Service层

BrandService:调用brandMapper:List selectAll();

Web层

调用service查询,将数据存入request,转发到brand.jsp;然后用c:forEach来遍历(在brand.jsp里面)

Javaweb学习笔记第十三弹--JSP和Servlet的更多相关文章

  1. Javaweb学习笔记——(十三)——————JSTL、JSTL核心标签库、自定义标签、有标签体的标签、带有属性的标签、MVC、Javaweb三层框架

    JSTLApache提供的标签库 jar包:jstl-1.2.jar,如果传MyEclipse,他会在我们导入jar包,无需自己导入,如果没有使用MyEclipse那么需要自行导入.--------- ...

  2. Javaweb学习笔记——(十一)——————JSP、会话跟踪、Cookie、HttpSession

    JSP1.什么是JSP jsp即java server pages,它是Javaweb的动态资源. jsp = html + java脚本 + jsp动态标签(包含EL表达式)2.JSP中java脚本 ...

  3. JavaWeb学习笔记(七)—— JSP

    一.什么是JSP JSP全名是Java Server Pages,它是建立在Servlet规范之上的动态网页开发技术.在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页 ...

  4. JavaWeb学习笔记(六)jsp

    第六章.jsp 1.什么是jsp jsp:java server pages,java的服务器页面 作用:代替Servlet回传HTML页面的数据 因为Servlet程序回传HTML页面的数据很繁琐, ...

  5. JavaWeb学习笔记(十三)—— JDBC时间类型的处理

    一.Java中的时间类型 Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后 ...

  6. VSTO 学习笔记(十三)谈谈VSTO项目的部署

    原文:VSTO 学习笔记(十三)谈谈VSTO项目的部署 一般客户计算机专业水平不高,但是有一些Office水平相当了得,尤其对Excel的操作非常熟练.因此如果能将产品的一些功能集成在Office中, ...

  7. JavaWeb学习笔记总结 目录篇

    JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...

  8. javaweb学习笔记整理补课

    javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...

  9. Python学习笔记(十三)

    Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...

  10. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

随机推荐

  1. 使用react脚手架创建项目报错-You are running `create-react-app` 5.0.0, which is behind the latest release (5.0.1).

    创建项目报错: You are running `create-react-app` 5.0.0, which is behind the latest release (5.0.1). We no ...

  2. React整洁的代码的一些原则

    1. Model is everything models are  the heart of your app. If you have models separated from th rest ...

  3. Study python_04

    数组 a = [1,2,3] print(a) 数组替换 a = [1,2,3] a[0] = 100 print(a) 数组去重复 def delete_chong(): a = [1,1,2,2, ...

  4. AVD文件转移到非系统盘

    AVD文件默认是生成在C:\Users\用户名\.android\avd目录下面的,而AVD文件非常大,可以用下面的方法将AVD文件转移到其他盘中. 1. 将每个模拟器对应的***.avd文件夹的内容 ...

  5. 20200923--计算鞍点(奥赛一本通P91 4)

    给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点.鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值. 例如:在下面的例子中(第4行第1列的元素就是鞍 ...

  6. nodejs 配置国内镜像

    npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.or ...

  7. angular 父组件调用子组件的方法

  8. 文献学习——A Deep Dive into Conflict Generating Decisions

    A Deep Dive into Conflict Generating Decisions Md. Solimul Chowdhury, Martin Müller, Jia-Huai You:A  ...

  9. nodejs的框架koa

    koa:应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的 应用程序: 1.导入 const Koa = require('koa'); 2.创建koa的app实例 const ...

  10. 如何服务好B端客户

    核心价值: 2B公司的核心价值在于服务.如何服务好客户,需要的是了解客户,与客户共赢. 一.客户信任度的建立 服务:不是口头说说,是要落地与实践. 对于客户的承诺至关重要,承诺的时间点.承诺的事情要保 ...