JSTL标签

<!-- 写在jsp文件的最前 -->
<!-- JSTL标签库是一个JSP标签的集合,封装了许多jsp应用程序通用的核心功能 
prefix="c"标签库的别名是c-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- JSTL格式化标签 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f"%>

13 JSTL标签库与EL表达式综合运用

新建两个封装类,一个User一个City,city类重写有参构造方法

//BaseServlet继承了HttpServlet类,重写了doGet方法
public class MyServlet extends BaseServlet{

	public void page1(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
		User user = new User();
		user.setId(11);
		user.setName("zs");
		user.setAge(18);
		user.setSex(1);

		List<City> list = new ArrayList<City>();
		list.add(new City(1,"北京"));
		list.add(new City(2, "上海"));
		list.add(new City(3, "广州"));

		req.setAttribute("list", list);
		String string = "aaa123";
		req.setAttribute("tar", string);
		req.getRequestDispatcher("page/demo.jsp").forward(req, res);
	}
}
<!-- jsp文件body中,最前勿忘加两标签 -->
<!-- 声明变量标签 -->
	<c:set var="money" value="200" scope="request" />
	
	<!-- 取值方式被称为EL表达式,可以访问JavaBeans和jsp内置对象 -->
	金额:${money}
	
	<!-- 选中分支标签 -->
	<c:if test="${sex eq 1}">
		<input type="radio" value="1" checked>男
		<input type="radio" value="0">女
	</c:if>
	<c:if test="${sex eq 0}">
		<input type="radio" value="1">男
		<input type="radio" value="0" checked>女
	</c:if>
	
	<!-- 类似于Java中的switch -->
	
	<c:choose>
		<c:when test="${sex eq 1}">
			男
		</c:when>
		<c:otherwise>
			女
		</c:otherwise>
	</c:choose>
	
	
	<hr>
	
	<!-- 
		遍历结果集
		var 表示每次遍历结果集取出来的元素
		varStatus这个属性用来指定接收“循环状态”的变量名
		current当前这次迭代的(集合中)项
		index当前这次迭代从0开始的迭代索引
		count当前这次迭代从1开始的迭代索引
		first用来表明当前这轮迭代是否为第一次迭代的标志
		last用来表明当前这轮迭代是否为最后一次迭代的标志
	 -->
	 <c:forEach items="${list}" var="no" varStatus="vs">
	 	${vs,first},${no}<br>
	 </c:forEach>
	
	
	<c:set var="now" value="<%=new java.util.Date()%>" />
	<!-- 获取时间 -->
	${now}
	<!-- 格式化时间日期标签 -->
	<f:formatDate value="${now}" pattern="yyyy-MM-dd HH:ss:SSS" />
		
	用户id:<input type="text" value="${user.id}">
	用户姓名:<input type="text" value="${user.name}">
	用户年龄:<input type="text" value="${user.age}">
	用户性别:
	<c:if test="${user.sex eq 1}">男</c:if>
	<c:if test="${user.sex eq 0}">女</c:if>
	
	<!-- 遍历集合 -->
	<select>
		<option value="">请选择城市</option>
		<c:forEach items="${list}" var="city">
			<option value="${city.id}">"${city.name}"</option>
		</c:forEach>
		
	</select>
	
	<!-- 使用EL表达式获取参数值 -->
	<c:out value="${tar}"></c:out>

HTTP请求方式与URI

HTTP请求方法

GET方法

GET与POST请求方式的区别:

1 GET请求业务参数以键值对的形式拼接在URL后面;POST请求业务参数存放在HTTP头信息中;
2 GET请求URL长度是受限制的,URL的最大长度是1024个字符,即2KB;POST请求理论上数据长度无限制,但是数据受web服务器限制;
3 GET请求安全性较差,因为参数是URL的一部分,对用户可见;POST请求相对更安全,因为参数不会被保存在浏览器历史或 web服务器日志中
4 GET请求只允许 ASCII 字符;POST请求没有限制。也允许二进制数据,所以提交多媒体文件用POST方式提交。

1.7.2 HTTP状态码列表

状态码		状态码英文名称		中文描述
200		OK			请求成功。一般用于GET与POST请求
400		Bad Request		客户端请求的语法错误,服务器无法理解
404		Not Found		服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405		Method Not Allowed	客户端请求中的方法(GET/POST)被禁止
500		Internal Server Error	服务器内部错误,无法完成请求
502		Bad Gateway		作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应

URL与URI

2.1 URI

2.1.1 URI定义

URI,统一资源标志符(Uniform Resource Identifier),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行唯一标识的。

2.1.3 示例

如:https://blog.csdn.net/qq_32595453/article/details/79516787
可以这样解释它:
1)这是一个可以通过https协议访问的资源;
2)位于域名为blog.csdn.net的主机服务器上;
3)通过“/qq_32595453/article/details/79516787”可以对该资源进行唯一标识(注意,这个不一定是完整的路径)
注意:以上三点只不过是对实例的解释,以上三点并不是URI的必要条件,URI只是一种概念,怎样实现无所谓,只要它唯一标识一个资源就可以了。

2.1.2 URI的结构组成

1)资源的命名机制;
2)存放资源的主机名;
3)资源自身的名称。
(注意:这只是一般URI资源的命名方式,只要是可以唯一标识资源的都被称为URI,上面三条合在一起是URI的充分不必要条件)

2.2 URL(Uniform Resource Locator)

URL是URI的一个子集。

URL的一般格式为(带方括号[]的为可选项):
protocol://hostname[:port]/path/[;parameters][?query]#fragment
protocol:网络传输协议:TCP/UDP
hostname:域名或IP地址
port:端口号
path:资源路径
parameters:参数
query:请求参数
URL的格式由三部分组成:
1)协议(或称为服务方式)。
2)存有该资源的主机IP地址(有时也包括端口号)。
3)主机资源的具体地址,如目录和文件名等。
第一部分和第二部分用“😕/”符号隔开,
第二部分和第三部分用“/”符号隔开。
第一部分和第二部分是不可缺少的,第三部分有时可以省略。

2.3 URI和URL之间的区别

从上面的例子来看,你可能觉得URI和URL可能是相同的概念,其实并不是,URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI 是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。

原文地址:http://www.cnblogs.com/xiaoto9426/p/16899670.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性