学习JSP的一些要点(EL,JSTL)

1 .和[]的区别

通常是可以互换的,除一下两种情况

(1就是包含特殊字符,比如说${user.first-name}换成${user[“first-name”]}

(2 就是通过变量取值,比如${user[param]},param可能是用户传入的一个参数是不确定的


2 JSP内置对象


如果没说明变量的范围,默认寻找变量的范围是从小到大

Page—>request-->session-->application


3 对文本对象运算做自动转换

平常是String count_str=request.getParameter(“count”);

    int count=Integetr.parseInt(count_str);

    count=count+20;

现在只要${param.count+20}


4 El重要的验证符empty

返回值为true和false

${empty username}


5 JSTL标签

Out标签的几个属性

<c:out value=”” default=”value值不存在的时候显示的信息” escapeXml=”true/fale(是否进行转译)”><c:out>

Set标签的几个用途

对Scope中进行存值

<c:set value=”one” var=”age”scope=”session”></c:set>

<c:set var=”age” scope=”session”>one</c:set>

对javabean的实例对象进行赋值

<jsp:usebean id=”person” class=”com.imooc.entity.Person”></jsp:usebean>

<c:set target=”${person}”property=”name”value=zhangsan></c:set>

<c:out value=”${person.name}”></c:out>

Remove标签的用法

<c:remove var=”username” ></c:remove>  //只能清除某个变量,不能是javabean中的属性值

Catch标签的用法

<c:catch var=”error”>

  <c:set target=“aa“ property=”bb” value=”cc”><c:set>

</c:catch>

<c:out value=”${error}”></c:out> //会输出错误信息

If标签的使用

<c:if test=”${score>=60}” var=“result” scope=”session”>

  <c:out value=”您的成绩是${param.score},及格了></c:out>

</c:if>

<c:out value=”${result}”></c:out>

Choose标签的使用

<c:choose>

 <c:when test=”${param.score>60}”>

   <c:out value=”您及格了”></c:out>

 </c:when>

 <c:otherwise>

   <c:out value=”您的输入有误”><c:out>

 </c:otherwise>

</c:choose>

Foreach标签

全部输出

<% List<String> list=new ArratList<String>;

List.add(“张三”);

List.add(“李四”);

Request.setAttribute(“list”,list);

%>

<c:forEach var=”name”items=”${list}”begin=“1“ end=”4” step=”2”varStatus=”l”>

<c:out value=”${name}” ></c:out>

</c:forEach>

Begin:开始角标 end :结束角标 step:中间间隔

VarStatus:遍历元素的属性index,count,first,last(true/false)

Index和count区别,index在整体中的下标数,从零开始的,count是在输出子集中的下标是从1开始的.

ForTokens标签

<c:forTokens items=”000-11-33-44-55” delims=”-“ var=”num”>

  <c:out value=”${num}”></c:out>

</c:forTokens>

也用begin,end,step,varStatus等属性

Import标签(一般和catch标签一起用)

和<jsp:include>的区别(只能包含同一个web项目下的资源),import可以包含不同web项目下的资源甚至是网络上的资源

url,context,var,scope

<c:catch var=”error”>

 <c:import url=http://www.baidu.com></c:import>

 <c:import url=”import.jsp”></c:import>

</c:catch>

关于context的使用,是导入同一个服务器下不同web项目的资源,必须加上/符号,根目录

<c:catch var=”error”>

 <c:import url= “/jspdemo.jsp” context=”/Another”>

 </c:import>

</c:catch>

Redirect标签(重定向)

<c:redirect url=”相对或绝对地址”context=”另一个web项目”>

 <c:param name=”name1”>value1</c:param>

 <c:param name=”name2”>value2</c:param>s

</redirect>

可以将param里面的值传到url中去

Url标签(动态生成url地址)

可以同param使用,也可以同<a>标签使用实现超链接

<c:if test=”1 < 3” > //判断条件是否生成var1

 <c set value=”aa” var=”var1”></c:set>

</c:if>

<c:url value=”http://localhost:8080/${var1}” var=”newUrl”></c:url>//根据里面的var1参数动态生成url地址

<a href=”${newUrl}”>新的Url</a>


6 jstl常用函数

Contains,containsIngoreCase,startWith,endWith,indexof(value1,value2)

判断value2在value1中的情况,返回true或false

<c:out value=”${fn:containsIngoreCase(“HELLOCase”,”hello”)}”></c;out>//返回true

EscapeXml,进行转译

<c:out value=”${fn:escapeXml(‘<book>好吗,</book>’)}”></c:out>


7 jsp页面中的BasePath

<%
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

这个语句是用来拼装当前网页的相对路径的。

<base href="...">是用来表明当前页面的相对路径所使用的根路径的。
比如,页面内部有一个连接,完整的路径应该是http://localhost:80/myblog/authen/login.do
其中http://server/是服务器的基本路径,myblog是当前应用程序的名字,那么,我的根路径应该是那么http://localhost:80/myblog/。

有了这个 <base ... >以后,我的页面内容的连接,我不想写全路径,我只要写 authen/login.do就可以了。服务器会自动把 <base...>指定的路径和页面内的相对路径拼装起来,组成完整路径。
如果没有这个 <base...>,那么我页面的链接就必须写全路径,否则服务器会找不到。

request.getSchema()可以返回当前页面使用的协议,就是上面例子中的“http”
request.getServerName()可以返回当前页面所在的服务器的名字,就是上面例子中的“localhost"
request.getServerPort()可以返回当前页面所在的服务器使用的端口,就是80,
request.getContextPath()可以返回当前页面所在的应用的名字,就是上面例子中的myblog
这四个拼装起来,就是当前应用的根路径了


8 内置对象

(1) Out方法的clear()和clearBuffer()有什么区别

 Clear()在flush()后面会报错,而clearBuffer()在flush()后面则不会报错

(2) Cookie 与session的区别

Cookie:在客户端保存信息,保存的是String类型,可以长期保存在客户端,保存一些不重要的信息

Session:在服务端保存信息,报存的是Object类型,可以长期保存在服务端,保存一些重要的信息

(3) 解决中文乱码问题

利用表单传参的时候:request.setCharacterEncoding(“utf-8”)

URL传参的时候:在Tomcat的安装目录中找到server.xml,在里面的<connector>中加入 URIEncoding=”utf-8”

(4) printerWriter和内置对象out的区别

默认printerWriter的输出在内置对象out输出内容的前面

解决这个问题

在out对象输出语句后写上out.flush()

(5) 请求重定向和请求转发的区别

请求重定向:response.sendRedirect(url)客户端的行为,从本质上讲等同于两次请求,前一次请求的对象不会保存,地址栏的URL地址会发生改变

请求转发:resquest.getRequestDispatcher(url).forward(res,rep),服务器端的请求,从本质上来讲只有一次请求,转发后请求对象会保存,地址栏的URL地址不会发生改变

理解起来就是:

比如一个人去办个护照

请求重定向:去A处办护照,A说这件事不归他们管,归B处管,然后这个出门打车自己去了B处

请求转发:去A处办护照,A说这件事归B管,然后让你在这儿等一会,然后自己进办公室里面联系B,让B处理好后把护照送过来

(6) 关于session对象的理解

Session在第一个jsp页面打开时自动创建,完成会话的管理;从一个客户打开浏览器开并连接到服务器开始,到客户关闭浏览器离开服务器结束,这称之为一个会话;是HttpSession的实例;

Session的销毁,session.invalid()方法,session的超时(超时),服务器的重新启动

(7) 返回值是枚举类型的遍历

While(attributes.hasMoreElements)

{

   Out.println(attributes.nextElement())

}

(8)Exception错误页的处理,在可能出现错误的页面的<@ page>中加入ErrorPage=”页面地址”,在错误处理页page中加入isErrorPage=”true”

 

 

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值