湖南大学JavaEE期末整理(一)——第一、二、三章

清单为复习课时老师说的重点,高亮部分为PPT上标明“考”的部分。全部整理自PPT,仅供参考。

JavaEE重点清单

  1. html
    1. form表单内的基本type及其属性
  2. css
    1. class和id的基本概念和区别
    2. 文本段落属性(背)
  3. 框架集基本概念(如何分割)
  4. 限定符(正则表达式)
  5. 规划界面(页面布局)
  6. 修饰符 final
  7. 集合与泛型
  8. MVC
  9. 权限控制filter
  10. JSP运行原理
  11. JavaBean

Review整理

一、HTML+CSS+JS

Table

表格由行、列、单元格组成,一个表格是由<table> <tr> <td>或<th>标记来定义的,分别表示表格、表格行、单元格。th表示为表头。可用于布局。

form

form元素是块级元素,其前后会产生换行。用于向服务器提交数据。

属性名含义
name表单对象名称
method发送form-data的HTTP方法,分为get和post
action当提交表单时向何处发送表单数据
target规定在何处打开action 中的URL

form的type主要有9种类型

名称格式说明
文本域<input type="text" name="文本字段名称" maxlength="" size="" value="">size:此区域显示的尺寸大小与maxlength:输入的最大字符数
密码域<input type="password" name="密码字段名称" size="" maxlength-"" value="">用户输入密码时用“*”代替用户输入的内容
单选按钮<input type="radio" name="" value="" checked/>checked:单项按钮默认状态是否被选中;多个互斥的单选按钮设置相同的name值
复选框<input type="checkbox" name="" value="" checked/>checked同上,可设置相同name值也可设置不同name值
提交按钮<input type="submit" name="" value=""/>将表单内容提交给服务器的按钮
取消按钮<input type="reset" name="" value=""/>将表单内容全部清除,重新填写的按钮
图像按钮<input type="image" src="图片Url"/>图像源文件名由src属性指定
文件域<input type="file" name="" size="" maxlength="">上传文件
隐藏域<input type="hidden" name="" value=""/>用户不能在其中输入信息,用来预设某些要传递的信息

下拉列表框

<select name="" size="" multiple>
  <option value="" selected></option>
  <option value=""></option>
</select>

多行文本框

<textarea name=""  设置输入域的行数
          rows=""  设置输入域的列数
          cols=""
          wrap="off|virtual|physical">  设置是否自动换行
</textarea>

CSS

选择器

元素(类型)选择器:直接对元素进行选择,如html{color:black;} h1{color:blur;},对在尖括号内的元素直接进行选择即可,尖括号内的元素可以是自定义的元素。

选择器分组:即可以将选择器组合起来一起设置。

通配符选择器:使用通配符进行选择 *{color:red;}

声明分组:即将所有要设置给同个元素的属性合在一起写。

类选择器:例如<h1 class="important">,类即为important,可以声明为多个类。

ID选择器:区别于类选择器,前面有#,且不引用class属性的值而引用id属性中的值。

类选择器与ID选择器的区别 ID选择器只能在文档中使用一次;不能使用ID词列表;ID能包含更多含义

引入CSS
链接式
<link href=".css文件路径"
      type="text/css"
      rel="stylesheet">
行内式
<p style="font-size:20px">
  正文内容
</p>
内嵌式
<head>
  <style type="text/css">
    p{color:white;font-weight:bold;}
  </style>
</head>
导入式
<style type="text/css">@import url(.css文件路径)</style>
引入方式优点缺点
链接式易维护、可复用、利抓取、分线程加载
行内式加载速度快CSS与HTML没有分离
内嵌式页面内可复用页面间无法复用
导入式页面全部下载完再被加载、IE5以上识别、DOM不可控
文本段落属性
text-decoration 文字修饰
vertical-align 垂直对齐
text-align 水平对齐
text-indent 文本缩进
line-height 文本行高
white-space 处理空白

DIV的用法

用于组合块级元素,而且本身是一个块级元素,前后会被放置换行符。优点:结构清晰、方便组织、可复用。

框架集Frameset

Frameset将页面分为多个页面。主要作用是内容区局部刷新。

窗口的分割与设置 和 子窗口的设置

窗口的分割与设置
<frameset rows="高度1,高度2..."
          cols="宽度1,宽度2...">
  <frame src="网页1"></frame>
	<frame src="网页2"></frame>
</frameset>
子窗口的设置
<frame src="html文件位置"
       name="子窗口名称" scrolling="yes|no|auto"></frame>

JavaScript

在这里插入图片描述
DOM:文档对象模型,把html文档当作一个对象来看待,提供接口API,操作所有的节点即document对象。如querySelector(solectors)返回第一个匹配选择器的文档元素,getElementById()通过ID查找元素。

BOM:浏览器对象模型,描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作即Windows对象。如window.location.href="网页路径"实现跳转。

外部引用:<script type="text/javascript" src="外部相对bai地址du.js"></script>
内嵌引用:
<script type="text/javascript"></script>

正则表达式

[ABC] 匹配[…]中的所有字符

[^ABC] 匹配除了[…]中的所有字符

[A-Z] 匹配所有大写字母,[a-z]表示匹配所有小写字母

. 匹配除换行符(\n、\r)之外的任何单个字符

\s 匹配所有空白符 \S非空白符包括换行

\w 匹配字母、数字、下划线,等价于[A-Z a-z 0-9]

限定符

在这里插入图片描述

HTML5

新特性:更多的语义标签;本地存储,包括localStorage和sessionStorage;设备兼容,提供前所未有的数据与应用接入开放接口;更有效的服务器推送技术如Server-sent Event和WebSocket;支持网页端Audio、Video等多媒体;基于SVG、Canvas等的3D功能。

规划界面

在这里插入图片描述

H5

广义上,H5指的是HTML5;狭义上解释,H5就是——互动形式的多媒体广告页面。随着 HTML5 正式发布节点那两年,还有个很重要的概念 “响应式设计” 被提出并被广泛接受。期间推出了有很多基于这个概念的前端框架,最有影响力的就是Bootstrap 框架。

H5的主要形式包括平面内容展示、交互内容展示、互动性故事、互动性游戏。

二、Java

简介

JRE:包括JVM和JAVA核心类库和支持文件,是Java的运行平台。

JDK:包含JRE,提供了开发Java应用的各种工具,如编译器和调试器。

JVM:是JRE的一部分,将Java字节码映射到本地的CPU的指令集或OS的系统调用。

继承

特点:具有层次结构、子类继承父类的属性和方法

优点:1.代码可重用;2.父类的属性和方法可用于子类;3.可以轻松的自定义子类;4.设计应用程序变得简单

子类构造时先调用父类构造方法再调用子类构造方法,调用父类构造方法使用关键字super

多态

把一个对象不当做它所属的特定类型来对待,而是将其当作其基类的对象来对待(generic),这使得人们可以编写出不依赖于特定类型的代码。当向对象发送消息时,被调用的代码直到运行时才能被确定,编辑器确保被调用方法的存在,并对调用参数和返回值执行类型检查,但是并不知道将被执行的确切代码。

包括方法重写和方法重载。不同的实例执行不同的操作。

重载:类中有多个具有相同名称的方法,具有不同的参数列表。

重写:子类和父类方法具有相同的名称和类型,子类对象调用子类中的重写方法,super.methodName()调用父类方法。

修饰符

访问修饰符:private、default、protected、public

方法修饰符:static、final、abstract

接口与抽象类:interface、abstract

在这里插入图片描述

final:1.修饰类:final修饰的类不能被继承;2.修饰方法:final修饰的方法不能被重写;3.修饰变量:final修饰的变量为常量。

abstract:抽象类不能被实例化;构造方法和static不能是抽象的;父类的抽象方法往往在子类中实现。抽象方法只有声明没有方法体。

在这里插入图片描述

自动装箱/拆箱

自动装箱:基本数据类型直接赋给对应的包装类变量,或者赋给Object类型的变量。

自动拆箱:把包装类对象直接赋值给一个对应的基本类型变量。

集合和泛型

  1. Array
    1. 特点:1.随机访问元素效率高;2.元素的类型识别;3.可持有primitives;4.容量无法修改
    2. 对象数组持有reference,primitives数组直接持有值。
  2. Vector
    1. 具有类似数组的数据结构,且是动态的
    2. 可以存放一定数量的元素
    3. 容量可以递增
  3. ArrayList
    1. 长度可变的对象引用数组,类似于动态数组
    2. 继承AbstractList并实现List接口
    3. 随着元素的添加啊,数目增加,列表扩展
    4. 访问和遍历对象时提供更好的性能
  4. LinkedList
    1. 创建链表数据结构
  5. HashMap
    1. 实现Map接口
    2. 用于存储键值映射关系
    3. 不保证元素的存储顺序

三、MVC

MVC基本概念

M:Model,通常为MySQL数据库层。

V:View,视图层,本课程中为JSP页面。

C:Controller,控制器,通常为Servlet类,处理JSP页面需要的页面逻辑。

在这里插入图片描述

Servlet
  1. 是用Java编写的与平台和协议无关的Server端程序,采用*”请求-响应“*模式提供Web服务。
  2. 它可接收Web浏览器或其他HTTP客户程序发出的请求,生成动态Web页面或担当HTTP服务器上的数据库和应用程序的中间层。(控制器)

创建Servlet的方法:1.实现Servlet接口;2.继承GenericServlet;3.继承HttpServlet

Servlet并不是专门用于处理HTTP请求的。

继承GenericServlet:抽象类GenericServlet,提供除service()方法外的其他4种方法的简单实现。它定义了一个通用的,不依赖具体协议的servlet。

继承HttpServlet:继承自GenericServlet,针对于HTTP协议定制。在service方法中把参数直接转化为HttpServletRequest和HttpServletResponse。

在这里插入图片描述

配置Servlet,在web.xml文件内进行。

<servlet>
  <!--Servlet注册的名字-->
  <servlet-name>LoginServlet</servlet-name>
  <!--Servlet的全类名-->
  <servlet-class>servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
  <!--对应上面的Servlet注册名-->
	<servlet-name>LoginServlet</servlet-name>
  <!--具体的访问路径;.代表当前WEB的根目录-->
  <url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>

或使用注解,在servlet类上加@WebServlet("/LoginServlet")

HttpServletRequest常用方法

方法名解释
getParameter(String name)获取请求中name指定的参数
getParameterValues(String name)返回请求中name指定的参数值数组getMethod()
getParameterNames()返回请求中所有参数名字的集合
getServerName()返回接受请求的服务器名字
getServletPath()返回请求的servlet的URL
getAttributeNames()返回请求中所有属性名字的合集
getAttribute(String name)返回指定name的属性值
setAttribute(String name,Object value)设置属性name的值为value
getCookies()返回客户端发送的cookie
getSession()返回客户端相关的session,若无则返回null
getSession(boolean create)返回和客户端相关的session,若未给客户端分配session,则创建一个session并返回

HttpServletResponse常用方法

方法名解释
addCookie(Cookie cookie)将指定的Cookie加入到当前的响应中
addHeader(String name,String value)将指定的名字和值加入到响应的头信息中
containsHeader(String name)返回一个布尔值,判断响应的头部是否被设置
encodeURL(String url)对指定的URL进行编码
sendError(int sc)使用指定状态码发送一个错误到客户端
sendRedirect(String location)重定向到其他页面
setHeader(String name,String value)用给出的名字和值设置响应的头部
setStatus(int sc)给当前响应设置状态码
setContentType(String ContentType)设置响应的MIME类型

Filter

主要功能

  1. 在servlet被调用之前截获
  2. 在servlet被调用之前检查servlet request
  3. 根据需要修改request头和request数据
  4. 根据需要修改response头和response数据
  5. 在servlet被调用之后截获

配置

<filter>
	<filter-name>RequestFilter</filter-name>
  <filter-class>servlet.RequestFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>RequestFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

doFilter方法的使用

private static final String[] dir = {/student”,//学员访问的功能页面所在文件夹/coach”,//教练访问的功能页面所在文件夹/admin”//管理员访问的功能页面所在文件夹
};
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  //此处为解决编码的Filter 在到达servlet之前统一设置编码格式
      try {
            request.setCharacterEncoding(“utf-8");
            response.setContentType("text/html;charset=utf-8");
            response.setCharacterEncoding(“utf-8");
            chain.doFilter(request, response);
        } catch (Exception e) {
            e.printStackTrace();
        }
      //此处为控制权限部分
      HttpServletRequest req = (HttpServletRequest) request;
      HttpSession session = req.getSession();
      String user = (String) session.getAttribute(“user”);	//看用户是否已登陆
      String priv = (String) session.getAttribute(“priv”);	//看用户的权限类别

      //得到访问的文件夹开头的访问路径
      String url = req.getRequestURI().substring(req.getContextPath().length());

      for (int i = 0; i < dir.length; i++) {
            if (url.startsWith(dir[i])) { 	//查看所访问的文件夹是否属于保护之列
                  if (user == null) {		//在保护之列,但是用户未登陆,跳转至首页面
                        request.getRequestDispatcher("index.jsp").forward(request, response);
                 } else if (Integer.parseInt(priv) != i) {
                          //已登陆,但是访问的文件夹与权限类别不一致,跳转至错误界面
                        request.getRequestDispatcher(“error.jsp").forward(
      request, response);
                 }
            }
      }
      chain.doFilter(request, response);	//一切正常,跳转至用户欲访问的界面
}

也可以设置session

HttpSession session = request.getSession();
 if(username.equals("admin") && password.equals("123")){
	session.setAttribute("priv",2");
	session.setAttribute("user", username);
	request.getRequestDispatcher(
	"/admin/main.jsp").forward(request, response);
}
else if(username.equals(“coach") && password.equals("123")){
	session.setAttribute("priv", "1");
	session.setAttribute("user", username);
	request.getRequestDispatcher(
	"/coach/main.jsp").forward(request, response);
}

转发与重定向

  1. RequestDispatcher接口 网上博客

    1. forward:将请求转发给服务器上另一个servlet、jsp或HTML文件
    2. include:用于在响应中包含其他资源的内容
    3. 获取
      1. ServletRequest接口中的getRequestDispatcher(String path)方法
        1. 可以不以"/"开头
      2. ServletContext接口中的getNamedDispatcher(String path)和getRequestDispatcher(String path)方法
        1. getNamedDispatcher只能以“/”开头
  2. 区别

    转发重定向
    地址栏是初次发出请求的地址不是初次发出请求的地址,为最后响应的地址
    在最终servlet中,request对象和中转的request是同个对象不是同个对象
    只能转发给当前WEB应用的资源可以重定向到任何资源
    /代表的是当前WEB的根目录/代表的是当前WEB站点的根目录

JSP

将Java脚本嵌入HTML网页中,运行在服务器端。JSP实际上是servlet,运行时被编译成servlet,主要优势是实现了页面与内容的分离。

运行原理

客户端向带有JSP引擎的web服务器发起请求,服务器根据请求加载相应的JSP文件。JSP引擎将文件转化为Servlet代码,后编译为Class文件,最后将执行结果响应给客户端。

在这里插入图片描述

JavaBean

特点

  1. 是一个public类;
  2. 必须有一个无参数的构造函数;
  3. 若干私有属性
  4. 获取或设置属性的方法
  5. 完成特定功能的方法

运行原理:JSP页面通过JavaBean调用数据库数据,执行业务逻辑

使用方法

<jsp:useBean id="name" class="className"
             scope=page|request|session|application/>
id:JavaBean的实例名
class:确定JavaBean的实现类
scope:指定JavaBean实例的作用范围

为Bean中属性赋值
<jsp:setProperty name="JavaBean实例名" property="*"/>
如:<jsp:setProperty name="beanName" property="propertyName" value="value"/>
获取Bean中属性的值
<jsp:getProperty name="JavaBean实例名" property="pname"/>
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值