选择 20 20分
判断10 10分
解答5 5分
程序 页面+综合45分
第2章Css选择器
CSS规则由三部分构成:选择符,属性和属性值
选择符 {属性:属性值; 属性:属性值; ... }
CSS选择器常用的是标记选择器、类选择器、ID选择器等。
标记选择器: HTML页面是由很多标记组成,例如图片标记<img>、超链接标记<a>、表格标记<table>等。而CSS的标记选择器就是声明页面中哪些标记采用哪些CSS样式。
class 选择器在HTML中以class属性表示,以一个点"."号显示
ID选择器在HTML中以id属性表示,以“#"号显示
p{ }: 为所有 p 元素指定一个样式
.marked{ }: 为所有 class="marked" 的元素指定一个样式
.marked p{ }: 为所有 class="marked" 元素内的 p 元素指定一个样式
p.marked{ }: 为所有 class="marked" 的 p 元素指定一个样式
在页面中插入样式表有三种方式:
行内样式(内联样式)
内嵌式(内部样式)
链接式(外部样式)
第3章JavaScript脚本语言
JavaScript是一种基于对象和事件驱动并具有安全性能的解释型脚本语言
JavaScript是一种客户端脚本语言
JavaScript能干什么
1.对表单数据进行验证(如必填项是否为空,邮箱格式验证)
2.操作HTML文档(如读取文档内容,动态写入文本)
3.对客户端事件进行响应(单击鼠标按钮,页面载入完成)
4.控制浏览器窗口(如打开新窗口,调整窗口大小等)
5.创建和读取Cookies(存储和取回位于访问者的计算机中的信息)
6.实现网页特效,提供更好的用户体验
JavaScript 代码例子:
<body>
<form action="" name="myform">
用户名:<input name="username" type="text" id="username"><br>
密码: <input name="pwd1" type="password" id="pwd1"><br>
确认密码: <input name="pwd2" type="password" id="pwd2"><br>
<input name="Submit" type="button" onClick="check()" value="确定保存">
<input name="Reset" type="reset" id="Reset" value="重新填写">
</form>
</body>
<head>
<title>表单</title>
<script language="javascript">
function check() {
if (myform.username.value == "") { //判断用户名是否为空
alert("请输入用户名!");
myform.username.focus();
return;
} else if (myform.pwd1.value == "") { //判断密码是否为空
alert("请输入密码!");
myform.pwd1.focus();
return;
} else if (myform.pwd2.value != myform.pwd1.value) { //判断密码是否一致
alert("密码不一致!");
myform.pwd1.focus();
return;
} else {
myform.submit(); //提交表单
}
}
</script>
</head>
事 件 |
何 时 触 发 |
onabort |
对象载入被中断时触发 |
onblur |
元素或窗口本身失去焦点时触发 |
onchange |
改变<select>元素中的选项或其他表单元素失去焦点, 并且在其获取焦点后内容发生过改变时触发 |
onclick |
单击鼠标左键时触发。当光标的焦点在按钮上,并按下回车键时,也会触发该事件 |
ondblclick |
双击鼠标左键时触发 |
onerror |
出现错误时触发 |
onfocus |
任何元素或窗口本身获得焦点时触发 |
onkeydown |
键盘上的按键(包括Shift或Alt等键)被按下时触发,如果一直按着某键,则会不断触发。 当返回false时,取消默认动作 |
onkeypress |
键盘上的按键被按下,并产生一个字符时发生。也就是说,当按下Shift或Alt等键时不触发。 如果一直按下某键时,会不断触发。当返回false时,取消默认动作 |
window.onload加载事件在页面内容加载完成之后立即执行相应的函数
JavaScript与window对象的差别
JavaScript是一种基于对象的语言
可以应用自己创建的对象,很多功能来自于脚本环境中对象的方法与脚本的互相作用
Window对象
Window对象即浏览器窗口对象,是一个全局对象,是所有对象的顶级对象。Window对象提供了许多属性和方法,这些属性和方法被用来操作浏览器页面的内容。Window对象同Math对象一样,也不需要使用new关键字创建对象实例,而是直接使用“对象名.成员”的格式来访问其属性或方法
DOM的分层结构
html标签通过浏览器的解析后会形成DOM树,HTML中的每个标签元素,属性,文本都能看做是一个DOM的节点,JavaScript都能通过dom的提供的编程接口操作到每个节点
结点的类型:元素(Element),属性(Attribute),文本(Text)
DOM树的结构:子结点,父结点,兄弟结点,后代,祖先
<html>
<head>
<title>一个HTML文档</title>
</head>
<body>
欢迎访问明日科技网站!
<br>
<a href="http://wwww.mingribook.com">
http://wwww.mingribook.com</a>
</body>
</html>
获取节点:
document.getElementById(idName); //通过id号来获取元素,返回一个元素对象
当JSP页面的运行原理
服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,并编译这个java文件生成字节码文件,然后执行字节码文件响应客户的请求
把JSP页面中的HTML标记符号(页面的静态部分)交给客户的浏览器负责显示
处理JSP标记,并将有关的处理结果发送到客户的浏览器
执行“<%”和“%>”之间的java程序片(JSP页面中的动态部分),并把执行结果交给客户的浏览器显示
当多个客户请求一个JSP页面时,Tomcat服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应相应客户的请求
<%@ page ... %> |
定义网页依赖属性,比如脚本语言、error页面、缓存需求等等 |
page有15个属性,包括contentType、import、language、session、buffer、auotFlush 、isThreadSafe、pageEncoding 等
contentType属性:
确定JSP页面响应的MIME(Multipurpose Internet Mail Extention)类型和JSP页面字符的编码
例如: <%@ page contentType="text/html;charset=GB2312" %>
<%@ page contentType="application/msword" %>
不允许两次使用page 指令给contentType属性指定不同的属性值
charset:设置服务器发送给客户端时的内容的编码
<jsp:action_name attribute="value" />
<jsp:forward ... > |
把请求转到另外的页面 |
<jsp:useBean... > |
动作用来加载一个将在JSP页面中使用的JavaBean |
<jsp:forward>动作
把请求转到另外的页面
格式
<jsp:forward page="相对 URL 地址" />
或 <jsp:forward page="URL" >
<jsp:param>子标识
</jsp:forward>
停止当前页面的继续执行,而转向执行page属性指定的JSP页面
子动作标识,用于向被包含的动态页面中传递参数
<jsp:useBean>动作
创建并使用一个JavaBean
用HTML完成JSP页面的静态部分,用Javabean完成动态部分,实现真正意义上的静态和动态分离
格式
<jsp:useBean id="bean的名字" class="创建bean的类" scope="bean的有效范围"/>
JSP内置对象
Request对象:
访问请求参数
request对象用于处理HTTP请求中的各项参数。在这些参数中,最常用的就是获取访问请求参数。
格式: request.getParameter(“parameterName”)
用表单和超链接传递参数的时候,使用getParameter方法可以返回给定参数的值,如果参数不存在则返回空值
Get和post
<form action="6.2_4_jump.jsp" method="post" name="form">
1.你曾经学习过那种语言:<br>
<input type="checkbox" name="item" value="C语言" >C语言</input>
<input type="checkbox" name="item" value="C++" >C++</input>
<input type="checkbox" name="item" value="Java" >Java</input>
<input type="checkbox" name="item" value="JSP" >JSP</input><br>
2.你最喜欢那种编程语言:<br>
<input type="radio" name="R" value="C语言">C语言 </input>
<input type="radio" name="R" value="C++">C++ </input>
<input type="radio" name="R" value="Java">Java </input>
<input type="radio" name="R" value="JSP" checked>JSP </input><br>
3.未来最想从事的领域:<br>
<select name="career" >
<option value="人工智能">人工智能</option>
<option value="Web应用开发">Web应用开发</option>
<option value="移动端开发">移动端开发</option>
<option value="大数据处理">大数据处理</option>
<option value="游戏开发">游戏开发</option>
</select> <br>
<input TYPE="submit" value="提交" name="submit"></input>
<input TYPE="reset" value="重置"></input>
</form>
在作用域中管理属性
在进行请求转发时(<jsp:forward/>),需要把一些数据传递到转发后的页面进行处理
在转发过程中,可以通过request对象的setAttribute()方法将数据保存到request范围内的变量中
setAttribute()方法的格式如下:
request.setAttribute(String name, Object object);
之后在转发后页面中,可以通过request对象的getAttribute()方法获取该变量的值
getAttribute()方法的格式如下:
request.getAttribute(String name);
request.getParameter() vs. request.getAttribute()
request.getParameter()没有对应的request.setParameter()方法
request.getParameter() 方法用于获取客户端的参数;request.getAttribute()方法用于在Web容器内部传递参数
request.getParameter() 方法返回String型数据;request.getAttribute()返回Object类型的数据
request.getParameter() 方法主要应用于页面的链接关系;request.getAttribute()方法应用于页面的转发关系
重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面
重定向操作支持将地址重定向到不同的主机上,这一点与转发不同
在客户端浏览器上将会得到跳转的地址,并重新发送请求链接
用户可以从浏览器的地址栏中看到跳转后的地址
进行重定向操作后,request中的属性全部失效,并且开始一个新的request对象
sendRedirect()方法的语法格式如下:
response.sendRedirect(String path);
session的工作原理
客户首次访问服务器的一个页面时,服务器就会为该客户分配一个session对象,同时为该session对象指定一个唯一的ID,并将该ID号发送到客户端并写入到Cookie中,使得客户端与服务器的session建立一一对应关系。
当客户继续访问服务上的其他资源时,不再为该客户分配新的session,直到客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器的会话结束。
当客户端重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,重新分配session id。
常见功能: 保存用户的登录信息,购物车等
Javabeen的产生和概念
结构
在JSP页面中应用JavaBean
第1步:在 JSP页面中通过import指令引入bean
格式:<%@ page import="com.lesson7.bean.*"%>
第2步:通过useBean标记来创建bean对象
格式:
<jsp:useBean id=”bean_name” class=”创建bean的类” scope=”bean的有效范围“>
</jsp:useBean>
其中:
1.创建bean的类要带有完整的包名,如com.lesson7.bean.*
- scope表示bean的取值范围,可取page,session,request和application,代表不同的作用范围
当JavaBean的范围设为page时,表示这个JavaBean的生命周期只在一个页面内有效
当JavaBean的范围设为request时,这个Bean在整个请求的范围内都有效
当JavaBean的范围设为session时,表示Bean可以在当前HTTP会话的生命周期内被所有页面访问
设为application范围内的Bean生命周期是最长的,从创建了这个Bean开始,就可以在任何使用相同application的JSP文件中使用这个Bean
第3步,在jsp页面中,可以通过直接调用bean的方法来获取和修改bean的属性值,还可以通过jsp动作标记来获取和修改bean的属性
直接调用bean的方法:
格式:circle.getRadius() /circle.setRadius(1000)
动作标签方法:
格式:<jsp:getProperty>/<jsp:setProperty>
package com.Lesson8.MyServlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Hello extends HttpServlet {
// 初始化方法
public void init() throws ServletException {
}
// 处理HTTP Get请求
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GB2312");// 设置响应的MIME类型
PrintWriter out = response.getWriter();// 获得一个向客户发送数据的输出流
out.println("<html><body>");
out.println("<h2>这是我的第一个servlet。</h2>");
out.println("</body></html>");
}
// 处理HTTP Post请求
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
Servlet重定向与转发
重定向
HttpServletResponse类中通过方法void sendRedirect(java.lang.String location) 可实现页面的跳转
格式:response.sendRedirect (“xxx.jsp”);
该方法跳转后的页面,不能获得之前页面用户提交的数据
转发
RequestDispatcher对象可以把用户对当前的JSP页面或servlet的请求转发给另一个JSP页面或servlet,并且将请求对象和相应对象传递给目标页面
格式:
第一步:得到RequestDispatcher对象:
RequestDispatcher rd = request.getRequestDispatcher(“xxx.jsp”);
第二步:转发: rd.forward( request, response);
什么是Servlet过滤器
用户请求在到达目标资源之前,我们可以设置“层层障碍”,对这个请求进行过滤处理。
关键词:可多个(层层)、过滤功能(障碍)
可以拦截请求和响应,查看、提取或者以某种方式操作正在客户端和服务器之间进行交换的数据
Servlet监听器简介
监听事件源,根据事件源上发生事件,做出相应的处理。
三元素:
事件源:发生事件的源头,监听器需要监听的对象。
事件:事件源上发生的动作,监听器监听的内容。
监听器:负责监听事件源的对象。
// 加载数据库驱动,注册到驱动管理器
Class.forName("com.mysql.cj.jdbc.Driver");
// 数据库连接字符串
String url = "jdbc:mysql://localhost:3306/test";
// 数据库用户名
String username = "root";
// 数据库密码
String password = “123456";
// 创建Connection连接
Connection conn = DriverManager.getConnection(url,username,password);
// 判断 数据库连接是否为空
if(conn != null){
// 输出连接信息
out.println("数据库连接成功!");
// 关闭数据库连接
conn.close();
}else{
// 输出连接信息
out.println("数据库连接失败!");
}
数据库集中在编程上
AJAX简介
AJAX(Asynchronous JavaScript and XML,异步JavaScript 和 XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
同步:客户端提交请求à等待服务器处理à处理完毕返回(期间客户端浏览器不能做其他的事)
异步:客户端提交请求(通过事件触发)à服务器处理(期间客户端可以做其他事情)à处理完毕
AJAX基于因特网标准,并使用以下技术组合:
XMLHttpRequest 对象(与服务器异步交互数据)
JavaScript/DOM(显示/取回信息)
CSS(设置数据的样式)
XML(常用作数据传输的格式)
jQuery选择器的优点:
简洁的写法
$("#id") // document.getElementById("id");
$("tagName") //document.getElementByTagName(" tagName ");
完善的事件处理机制
if(document.getElementById("id"))
document.getElementById("id").style.color="red";
$("#id").css("color", "red");
标签:中级,java,对象,request,JSP,客户端,属性,考试,页面 From: https://www.cnblogs.com/lifegone/p/16919559.html