Javaweb学习笔记第十三弹--JSP和Servlet
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的更多相关文章
- Javaweb学习笔记——(十三)——————JSTL、JSTL核心标签库、自定义标签、有标签体的标签、带有属性的标签、MVC、Javaweb三层框架
JSTLApache提供的标签库 jar包:jstl-1.2.jar,如果传MyEclipse,他会在我们导入jar包,无需自己导入,如果没有使用MyEclipse那么需要自行导入.--------- ...
- Javaweb学习笔记——(十一)——————JSP、会话跟踪、Cookie、HttpSession
JSP1.什么是JSP jsp即java server pages,它是Javaweb的动态资源. jsp = html + java脚本 + jsp动态标签(包含EL表达式)2.JSP中java脚本 ...
- JavaWeb学习笔记(七)—— JSP
一.什么是JSP JSP全名是Java Server Pages,它是建立在Servlet规范之上的动态网页开发技术.在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页 ...
- JavaWeb学习笔记(六)jsp
第六章.jsp 1.什么是jsp jsp:java server pages,java的服务器页面 作用:代替Servlet回传HTML页面的数据 因为Servlet程序回传HTML页面的数据很繁琐, ...
- JavaWeb学习笔记(十三)—— JDBC时间类型的处理
一.Java中的时间类型 Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后 ...
- VSTO 学习笔记(十三)谈谈VSTO项目的部署
原文:VSTO 学习笔记(十三)谈谈VSTO项目的部署 一般客户计算机专业水平不高,但是有一些Office水平相当了得,尤其对Excel的操作非常熟练.因此如果能将产品的一些功能集成在Office中, ...
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- Python学习笔记(十三)
Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...
- python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括: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 ...
- React整洁的代码的一些原则
1. Model is everything models are the heart of your app. If you have models separated from th rest ...
- 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, ...
- AVD文件转移到非系统盘
AVD文件默认是生成在C:\Users\用户名\.android\avd目录下面的,而AVD文件非常大,可以用下面的方法将AVD文件转移到其他盘中. 1. 将每个模拟器对应的***.avd文件夹的内容 ...
- 20200923--计算鞍点(奥赛一本通P91 4)
给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点.鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值. 例如:在下面的例子中(第4行第1列的元素就是鞍 ...
- nodejs 配置国内镜像
npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.or ...
- angular 父组件调用子组件的方法
- 文献学习——A Deep Dive into Conflict Generating Decisions
A Deep Dive into Conflict Generating Decisions Md. Solimul Chowdhury, Martin Müller, Jia-Huai You:A ...
- nodejs的框架koa
koa:应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的 应用程序: 1.导入 const Koa = require('koa'); 2.创建koa的app实例 const ...
- 如何服务好B端客户
核心价值: 2B公司的核心价值在于服务.如何服务好客户,需要的是了解客户,与客户共赢. 一.客户信任度的建立 服务:不是口头说说,是要落地与实践. 对于客户的承诺至关重要,承诺的时间点.承诺的事情要保 ...