JSP基本知识笔记2020

一、什么是JSP

  • JSP和Servlet都是SUN公司提供的动态web资源开发奇数
  • JSP看起来像HTML,但是JSP可以书写JAVA代码,可以展示动态效果,
  • JSP本质就是servlet一样
  • 静态web资源(百度首页/首页)html/css/js
  • 动态web资源:如果不同的人在不同的条件下访问的效果是不相同的,这样的资源叫动态web资源(比如购物车).net/php/jsp/servlet等

二、为什么学JSP

  • Servlet是一个Java程序,适合处理请求,处理请求,处理业务逻辑,但是不适合像浏览器响应一个完整符合规范的html网页
  • HTML是一个页面的开发技术,是静态网页,无法展示动态数据
  • JSP也是一个网页的开发技术,可以作为网页响应给浏览器,并且可以书写Java代码,可以显示动态数据
  • JSP的出现解决了servlet不适合向外输出html网页的问题,同时也解决了HTML无法展示动态数据的问题。

三、 EL表达式

  • ${ 表达式、常量、变量}
  • 1.针对EL中的表达式或常量,直接输出表达式的计算结果或输出常量的值
  • 2.针对EL中的变量。是根据变量名在域中获取值(从域中获取数据)。

四、模式一:单独使用jsp

五、模式二:Servlet + JavaBean + JSP :

Servlet :
(1)获取请求中的数据
(2)调用一个JavaBean对请求进行处理
(3)调用一个Jsp展示请求处理结果
JavaBean:
(1)处理请求、(2)封装数据)
(3)处理业务逻辑、(4)访问数据库
JSP
(1)将请求处理的结果展示给用户

六、代码展示

1、必备pom依赖

<!-- Servlet/JSP/JSTL -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>

2、 <c:forEach>标签,需要与el表达式联合使用

 <c:forEach>标签的语法定义如下所示。

          <c:forEach var="每个变量名字"   items="要迭代的list"   varStatus="每个对象的状态"

                   begin="循环从哪儿开始"    end="循环到哪儿结束"    step="循环的步长">

                      循环要输出的东西

          </c:forEach>

 <c:forEach>标签具有以下一些属性:

l var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。

l items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。

l varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。

l begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

l end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

l step:迭代的步长。

	
	前端jsp文件代码:
	<c:forEach items="${abc}" var="door" varStatus="stat">
	
		<tr>
			<td >${stat.count}</td>
			<td >${door.name}</td>
			<td >${door.tel}</td>
			<td >${door.addr}</td>
			<td>
				<a href="doorDelete?id=${door.id} ">删除</a>
				&nbsp;|&nbsp;
				<a href="doorInfo?id=${door.id }">修改</a>
			</td>
		</tr>
	</c:forEach>

后端交互传入页面值JavaBean
	@RequestMapping("/doorList")
	public String doorList(Model m) {
		List<Door> list = dao.findAll();
		m.addAttribute("abc",list);
		return "/door_list";
	}

3、直接书写java代码

	<%! int i=6; %>
	<% if (i==6){%>
	<p>i=6<p/>
	<% }else{%>
	<p>i不等于6<p/>
	<%}%>

暂时这点资料,后面再更新。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值