web第7天(EL表达式,JSTL标签,servlet)

EL表达式和JSTL标签库

EL表达式

全称:expression language表达式语言,主要是从作用域中获取值
格式:${}
pageContext
request
session
application
注意:需要把值设置到作用域中
例:EL表达式获取对象

先获取到上一个界面的值
String name=request.getParameter("user");
String pass=request.getParameter("pass");
然后创建对象,并将值设置进去
User user=new User();
user.setUser(name);
user.setPass(pass);
将对象设置到作用域中
 request.setAttribute("user", user);
 request.setAttribute("pass", pass);

获取到对象的内容:

${user}
${user.name}
${user.pass}

注意:获取对象的值不需要调用get方法,只需要点它的属性即可
获取第一个集合中的name属性值

${list[0].name }

JSTL标签库

JSTL标签库:jsp页面中的标签库,又称c标签
步骤:

  1. 需要将jar包加到lib下,然后Build Path-->Add Build Path
  2. 需要导包:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  • c:if
<!-- test属性:判断条件 -->
	<c:if test="${user.name=='admin' }">
		<div>用户名正确</div>
	</c:if>
  • c:forEach
<!-- items属性:表示要遍历的对象(集合)
	var属性:表示遍历出来的内容
	varStatus属性:相当于是循环中的i变量,可以用来获取循环的次数
	 -->
		<c:forEach items="${list }" var="users" varStatus="status">
			<p>用户名:${users.name }</p>
			<p>用户名:${users.pass }</p>
			<p>当前用户序号:${status.count }</p>
		</c:forEach>
  • c:choose
<c:choose>
	< c:when test="${user.pass=='123' }">
	密码正确
	</c:when>
	<c:otherwise>
	密码不正确
	</c:otherwise>
</c:choose>
  • c:out
    如果内容中包含特殊的如p标签这样的,系统可能会自动解释,不会原样输出,如果需要原样输出,可以通过设置escapeXML属性值来设置转义(true表示转义)

fmt:日期标签

value:日期的值
pattern:日期的格式
注意:需要导包<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<fmt:formatDate value="${news.createDate }" pattern="yyyy年MM月dd日"/>

servlet

image

  • servlet:由server applet组成(服务连接器)

  • 作用:servlet本身是不做任何业务处理的,只负责接收get或者post请求,然后决定取到哪个页面(转发/重定向)

  • 面试题,servlet的生命周期?
    1,实例化(构造方法)
    2,初始化(赋值->init方法)
    3,处理请求(doGet/doPost或者service方法)
    4,销毁(destroy方法)

  • servlet的使用需要在web.xml中配置

找到指定的servlet文件
<servlet>
  //servlet的名字,为了让另一对<servlet-mapping>能通过名字找到指定的java类
  <servlet-name>loginServlet</servlet-name>
  //表示servlet的java类所在的位置
  <servlet-class>servlet.LoginServlet</servlet-class>
  </servlet>
  
  //servlet的映射标签
  <servlet-mapping>
  //servlet的名字,对应<servlet>标签中的name
  <servlet-name>loginServlet</servlet-name>
  //前端表单提交action属性中的路径名
  <url-pattern>/login</url-pattern>
  </servlet-mapping>
posted @   不再犹豫27  阅读(19)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示