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. 计算机网络基础(3):IP与子网掩码/ ping/ ipconfig/ VLAN/ 网络服务器配置

    chapter4 构建中型网络 1. IP地址与子网掩码 A类地址:网络ID开头是0,范围从00000001到01111110,126个,其中0 127留作他用.在每个网段里(网络ID),可以容纳2* ...

  2. PHP myadmin 无路径getshell

    PHP>5 & MySQl>5 环境:windows下常规的集成环境如 phpstudy,wamp,xampp等. 条件:当已经用弱口令或者爆破登录myadmin以后,没登录进入就 ...

  3. linux 防火墙管理

    1.查看防火墙状态指令 Firewall-cmd --state 2.关闭防火墙 service firewall stop 3.打开防火墙 service firewall start 4.重启防火 ...

  4. 搭建 vue 项目

    前提  :  node 环境 也可以用 cnpm (淘宝镜像 npm install -g cnpm –registry=https://registry.npm.taobao.org) 全局安装vu ...

  5. 一次讲清promise

    此文章主要讲解核心思想和基本用法,想要了解更多细节全面的使用方式,请阅读官方API 这篇文章假定你具备最基本的异步编程知识,例如知道什么是回调,知道什么是链式调用,同时具备最基本的单词量,例如page ...

  6. tomcat 重启脚本

    1 创建脚本后将脚本放到tomcat/bin目录下并授权,就可以通过此脚本一键重启拉! #!/bin/bash tomcat_path1="$( cd "$( dirname &q ...

  7. c++学习9 结构体

    一 结构体赋值 结构体赋值的方法有三种,逐个成员赋值,整体赋值和拷贝赋值. 设一个结构体有struck student{ int age;char ch[32]; }: 逐个成员赋值:student ...

  8. int 和vachar后面的数字代表的含义

    在创建数据表的时候,我们经常会给每一个字段设置一个长度,例如:int(5).varchar(10) 等等,但是他们代表的意思是什么呢?是该列允许存储值的最大宽度吗? 场景1:为什么我设置成 int(1 ...

  9. Java Fastjson Unserialize WriteUp

    Java Fastjson Unserialize 题目地址: https://ctf.bugku.com/challenges/detail/id/339.html 1. 查看网页源代码 <s ...

  10. js- throw and try-catch-finally

    总结一下: 1.throw 抛出错误 2.在使用try-catch时 try{}抛出错误,catch{}块语句才执行,另外catch(e)可创建例如e的标识符,对try{}块抛出异常进行捕捉 3.在使 ...