Ajax&&Jsp&&JavaBean

Ajax

什么是Ajax
  1. AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

  2. AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

  3. AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

  4. AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。

Ajax相关参数
  1. URL:代载入页面的地址
  2. data : 待发送的 参数(键值对形式)
  3. success : 载入成功时的回调函数
  4. type:设置请求的方法(get、post)

Jsp

什么是Jsp

JSP全名为Java Server Pages,中文名叫java服务器页面,是一种动态网页技术标准 ,其根本是一个简化的Servlet设计,是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

Jsp与HTML区别
  1. HTML只给用户提供静态的数据
  2. Jsp页面中可以嵌入Java代码,为用户提供动态数据
  3. Jsp本质上是一个Servlet
Jsp基础语法

注:在jsp页面中Java代码会原封不动的输出;HTML代码,则会通过out.write()输出

表达式

作用:将程序的输出,输出到客户端
格式:<%= 变量或者是表达式%>

<%--表达式--%>
<%=new Date().toLocaleString()%>
脚本片段

格式:<% java代码或者是HTML代码块%>

<%--脚本片段--%>
<%
    int sum=0;
    for (int i = 0; i < 7; i++) {
    sum+=i;
%>
<h1>Hello,world <span style="color: aqua"><%=i%></span></h1>
<%}%>
<%=sum%>

在这里插入图片描述

Jsp声明

格式:<%!变量或者是方法%>

<%!
String name="JSP基础语法";
public static void Show(String s){
    System.out.println(s);
}
%>

在这里插入图片描述
注:表达式与脚本片段运行后,会生成在Jsp生成的java类中的_jspService方法中;但是Jsp声明会被编译到Jsp生成的java类中

JSP指令

格式:<%@指令名 %>(指令名:page、taglib 、include )

特别注意:<%@include%>与jSP标签:<%jsp:include:xxx%>两者作用都是将几个页面合成
但是前者将几个页面融合在一个页面中;后者是页面的拼接,原先是几个页面后面还是几个页面

例:自定义错误页面
<%@page isErrorPage="true" %>//将自定页面设置为错误页面
<%@page errorPage="error.jsp" %>//将错误页面设置为自定义页面

在web.xml中配置错误页面

//当遇到500错误时,会跳转到自定义error的错误页面中
  <error-page>
    <error-code>500</error-code>
    <location>/error.jsp</location>
  </error-page>
  //当遇到404错误时,会跳转到自定义error1的错误页面中
  <error-page>
    <error-code>404</error-code>
    <location>/error1.jsp</location>
  </error-page>

error.jsp设计

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isErrorPage="true" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1><span style="color: red">error</span></h1>
</body>
</html>

error1.jsp设计

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isErrorPage="true" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h1><span style="color: red">NOT FIND</span></h1>
</body>
</html>
9大内置对象

PageContext、Request、Response、Session、Application 【SerlvetContext】、config 【SerlvetConfig】、out 、page、exception

可用于存放信息的对象,以及作用域
  1. PageContext :保存的数据只在一个页面中有效
  2. Request:保存的数据只在一次请求中有效,请求转发时会携带该数据
  3. Session:保存的数据会在一次会话中有效,从打开浏览器,到关闭浏览器
  4. Application :保存的数据只在服务器中有效,从打开服务器,到关闭服务器
<%
//存取值
pageContext.setAttribute("lala0","你好");
request.setAttribute("lala1","你好");
session.setAttribute("lala2","你好");
application.setAttribute("lala3","你好");
%>
<%
//获得值
    Object lala0 = pageContext.getAttribute("lala0");
    Object lala1 = request.getAttribute("lala1");
    Object lala2 = session.getAttribute("lala2");
    Object lala3 = application.getAttribute("lala3");
%>
<%--输出值--%>
${lala0}
${lala1}
${lala2}
${lala3}
${lala4}

运行结果:

从底层到高层的作用域:PageContext -Request-Session-Application

PageContext相关配置
  1. setAttribute(String,Object,int i)
    该方法的参数三可以设置作用域
pageContext.setAttribute("null","null",PageContext.SESSION_SCOPE);
  1. forword()
    通过该法,可以用与跳转页面
pageContext.forward("/error1.jsp");
JSP标签、JSTL标签、EL表达式
EL表达式

格式:${ 变量名}
作用:

  1. 获取数据
  2. 执行运算
  3. 获取web开发的常用对象

EL表达式获取表单中的数据:${param.参数名}

JSP标签

个别举例:

<jsp:include page="index.jsp" flush="true" ></jsp:include>
<jsp:forward page="error1.jsp" ></jsp:forward>
JSTL表达式

JSTL标签库的使用就是为了弥补HTML标签的不足;JSTL标签库自定义许多标签,可以供我们使用
注意:要使用JSTL标签,即使用JSTL标签库时需导入jstl-api、standard的jar包;jstl-api的jar包在项目中有,但是在Tomcat发布的应用WEB-INF的lib目录下不存在,为了程序正常运行,需要手动将其复制过去

set标签
<%--set标签--%>
<c:set var="score" value="76" scope="page" ></c:set>
if标签
<%--if标签--%>
<c:if test="${score>80}" var="isTrue"/>
<c:if test="${!isTrue}">
    <c:out value="成绩小与80"></c:out>
</c:if>
choose标签,when标签
<%--choose标签,when标签--%>
<c:choose>
    <c:when test="${score>90}">
        <span style="color: aqua">优秀</span>
    </c:when>
    <c:when test="${score>80}">
        <span style="color: aquamarine">良好</span>
    </c:when>
    <c:when test="${score>70}">
        <span style="color: antiquewhite">中等</span>
    </c:when>
</c:choose>
forEach标签
<%
    ArrayList<String> lala = new ArrayList<>();
    lala.add("张三");
    lala.add("李四");
    lala.add("劳务");
    lala.add("啦啦");
    lala.add("哈哈");
    request.setAttribute("la",lala);
%>
<%--forEach标签--%>
<c:forEach var="s" items="${la}">
    <c:out value="${s}"></c:out><br>
</c:forEach>
forEach标签2

相关参数介绍:

  1. var:每次遍历出来的变量名
  2. items:遍历的对象
  3. begin:遍历开始位置
  4. end:遍历结束的位置
  5. step:步长,相当于i++的作用
<%--forEach标签2  --%>
<c:forEach var="s" items="${la}" begin="0" end="4" step="2">
    <c:out value="${s}"></c:out><br>
</c:forEach>

上述运行结果:
在这里插入图片描述

JavaBean

什么是JavaBean

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。 换句话说,JavaBean就是一个java的类,书写javaBean类必须满足以下条件:

  1. 具有无参构造
  2. 属性私有化
  3. 提供get与set方法

作用:一般用来和数据库的字段来做意义映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值