JavaWeb基础知识总结. (24)

3.6 pageContext对象

pageContext:pageContext是PageContext类型!可以使用pageContext对象调用getXXX()方法,例如pageContext.getRequest(),可以${pageContext.request}。也就是读取JavaBean属性!!!

EL表达式

 

说明

 

${pageContext.request.queryString}

 

pageContext.getRequest().getQueryString();

 

${pageContext.request.requestURL}

 

pageContext.getRequest().getRequestURL();

 

${pageContext.request.contextPath}

 

pageContext.getRequest().getContextPath();

 

${pageContext.request.method}

 

pageContext.getRequest().getMethod();

 

${pageContext.request.protocol}

 

pageContext.getRequest().getProtocol();

 

${pageContext.request.remoteUser}

 

pageContext.getRequest().getRemoteUser();

 

${pageContext.request.remoteAddr}

 

pageContext.getRequest().getRemoteAddr();

 

${pageContext.session.new}

 

pageContext.getSession().isNew();

 

${pageContext.session.id}

 

pageContext.getSession().getId();

 

${pageContext.servletContext.serverInfo}

 

pageContext.getServletContext().getServerInfo();

 
EL函数库 1 什么EL函数库

EL函数库是由第三方对EL的扩展,我们现在学习的EL函数库是由JSTL添加的。JSTL明天再学!

EL函数库就是定义一些有返回值静态方法。然后通过EL语言来调用它们!当然,不只是JSTL可以定义EL函数库,我们也可以自定义EL函数库。

EL函数库中包含了很多对字符串的操作方法,以及对集合对象的操作。例如:${fn:length(“abc”)}会输出3,即字符串的长度。

2 导入函数库

因为是第三方的东西,所以需要导入。导入需要使用taglib指令!

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

3 EL函数库介绍

l String toUpperCase(String input):

l String toLowerCase(String input):

l int indexOf(String input, String substring):

l boolean contains(String input, String substring):

l boolean containsIgnoreCase(String input, String substring):

l boolean startsWith(String input, String substring):

l boolean endsWith(String input, String substring):

l String substring(String input, int beginIndex, int endIndex):

l String substringAfter(String input, String substring):

l substringBefore(String input, String substring):

l String escapeXml(String input):”、’、<、>、&

l String trim(String input):

l String replace(String input, String substringBefore, String substringAfter):

l String[] split(String input, String delimiters):

l int length(Object obj):

l String join(String array[], String separator):

<%@taglib prefix=http://www.likecs.com/"fn" uri=http://www.likecs.com/"http://java.sun.com/jsp/jstl/functions" %>

String[] strs = {"a", "b","c"};

List list = new ArrayList();

list.add("a");

pageContext.setAttribute("arr", strs);

pageContext.setAttribute("list", list);

%>

${fn:length(arr) }<br/><!--3-->

${fn:length(list) }<br/><!--1-->

${fn:toLowerCase("Hello") }<br/> <!-- hello -->

${fn:toUpperCase("Hello") }<br/> <!-- HELLO -->

${fn:contains("abc", "a")}<br/><!-- true -->

${fn:containsIgnoreCase("abc", "Ab")}<br/><!-- true -->

${fn:contains(arr, "a")}<br/><!-- true -->

${fn:containsIgnoreCase(list, "A")}<br/><!-- true -->

${fn:endsWith("Hello.java", ".java")}<br/><!-- true -->

${fn:startsWith("Hello.java", "Hell")}<br/><!-- true -->

${fn:indexOf("Hello-World", "-")}<br/><!-- 5 -->

${fn:join(arr, ";")}<br/><!-- a;b;c -->

${fn:replace("Hello-World", "-", "+")}<br/><!-- Hello+World -->

${fn:join(fn:split("a;b;c;", ";"), "-")}<br/><!-- a-b-c -->

${fn:substring("0123456789", 6, 9)}<br/><!-- 678 -->

${fn:substring("0123456789", 5, -1)}<br/><!-- 56789 -->

${fn:substringAfter("Hello-World", "-")}<br/><!-- World -->

${fn:substringBefore("Hello-World", "-")}<br/><!-- Hello -->

${fn:trim("     a b c     ")}<br/><!-- a b c -->

${fn:escapeXml("<html></html>")}<br/> <!-- <html></html> -->

 
4 自定义EL函数库

l 写一个类,写一个有返回值的静态方法;

l 编写itcast.tld文件,可以参数fn.tld文件来写,把itcast.tld文件放到/WEB-INF目录下;

l 在页面中添加taglib指令,导入自定义标签库。

ItcastFuncations.java

package cn.itcast.el.funcations;

public class ItcastFuncations {

public static String test() {

return "传智播客自定义EL函数库测试";

}

}

 

itcast.tld(放到classes下)

<?xml version=http://www.likecs.com/"1.0" encoding=http://www.likecs.com/"UTF-8" ?>

<taglib xmlns=http://www.likecs.com/"http://java.sun.com/xml/ns/j2ee"

xmlns:xsi=http://www.likecs.com/"http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation=http://www.likecs.com/"http://java.sun.com/xml/ns/j2ee "

version=http://www.likecs.com/"2.0">

<tlib-version>1.0</tlib-version>

<short-name>itcast</short-name>

<uri></uri>

<function>

<name>test</name>

<function-class>cn.itcast.el.funcations.ItcastFuncations</function-class>

<function-signature>String test()</function-signature>

</function>

</taglib>

 

index.jsp

<%@ page language=http://www.likecs.com/"java" import=http://www.likecs.com/"java.util.*" pageEncoding=http://www.likecs.com/"UTF-8"%>

<%@ taglib prefix=http://www.likecs.com/"itcast" uri=http://www.likecs.com/"/WEB-INF/itcast.tld" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<body>

<h1>${itcast:test() }</h1>

</body>

</html>

 
MySQL 数据库 1 数据库概念(了解) 1.1 什么是数据库

数据库就是用来存储和管理数据的仓库!

数据库存储数据的优先:


可存储大量数据;

l 方便检索;

l 保持数据的一致性、完整性;

l 安全,可共享;

l 通过组合分析,可产生新数据。

1.2 数据库的发展历程

l 没有数据库,使用磁盘文件存储数据;

l 层次结构模型数据库;

l 网状结构模型数据库;

关系结构模型数据库:使用二维表格来存储数据;

l 关系-对象模型数据库;

MySQL就是关系型数据库!

1.3 常见数据库

l Oracle:甲骨文;

l DB2:IBM;

l SQL Server:微软;

l Sybase:赛尔斯;

l MySQL:甲骨文;

1.4 理解数据库

我们现在所说的数据库泛指关“系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfdw.html