Java Web期末快速突破

一、专业技术术语与名词

1. Web的特性

定义:Web是分布于全球,基于HTTP通信协议,存储在Web服务器里的所有相互链接的超文本集合

  1. Web属于分布式超媒体系统
  2. Web具备多媒体化以及易于导航的特点
  3. Web与平台无关
  4. Web是动态且可交互的

2. TCP/IP结构及作用

  1. 网络接口层:负责把IP分组封装成适合在具体物理网络上传输的帧
  2. 网络层:解决网络互联中IP分组的寻址问题
  3. 传输层:保障报文段的完整性并提供端到端的通信
  4. 应用层:提供计算机之间的各类应用服务与协议

3. HTTP/HTTPS

概念:HTTP即超文本传输协议,是Web的基础通信协议,Web的服务器和浏览器都采用HTTP协议来传输Web文档,处于TCP/IP的应用层

  • 在互联网上通常采用TCP连接,默认使用80端口
  • 客户机浏览器与服务器的TCP连接仅能处理一次事务

HTTP定义的一次事务处理流程

  1. 客户机浏览器与Web服务器建立连接
  2. 客户机浏览器向Web服务器提出请求,在请求中明确所要求的特定文件
  3. Web服务器对客户机浏览器的请求进行响应
  4. 客户机浏览器与Web服务器断开连接

http请求中get和post的区别

  1. get用于获取数据,post用于上传数据
  2. get不安全,因为传输过程中数据放在请求的URL中,而Post的所有操作对用户不可见
  3. Get传输数据量小(受URL限制),而Post可以传输大量数据(比如:上传文件只能用Post)
  4. Get是Form的默认方法
  5. Get限制Form表单的数据集必须是ASCII字符,而Post支持整个ISO10646字符集

4. JavaBean

JavaBean是Java开发语言中可重复使用的软件组件,本质上就是一个Java类

  • 解释:JavaBean实际上是遵循特定写法的JAVA类,封装了数据和业务逻辑,供JSP和Servlet调用,实现了数据封装与数据处理功能

<jsp:useBean>标签用于声明JavaBean对象

  • JSP提供了访问JavaBean属性的标签,若要将JavaBean的某个属性输出到网页上,可用<jsp:getProperty>标签。若要给JavaBean的某个属性赋值,可用<jsp:setProperty>标签

简述JavaBean规范包含哪些?

  1. 必须具有一个公共的、无参的构造方法,该方法可以是编译器自动生成的默认构造方法。

  2. 提供公共的setter方法和getter方法让外部程序设置和获取JavaBean的属性

  3. 是一个公有类

  4. 通常需要实现java.io.Serializable,用于序列化。

① Java开发流程

  1. 编写JavaBean

  2. 编译JavaBean

     javac text.java
    
  3. 部署JavaBean

② JavaBean属性值

  1. 设置

     <jsp::setProperty name="beanname" property="propertyname" value="beanvalue">
    
  2. 获取

     <jsp::getProperty name ="beanname" property="propertyname">
    

5. 进程与线程的比较

二、前端三要素

1. HTML常见标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>网页标题</title>
</head>
<body>
    这是网页身体
</body>
</html>

超文本标签

<!--1. 跳转网页-->
<a href = "http://www.com">112</a>

<!--2. 跳转某个文档的段落-->
<a href = "#clients">跳</a>
<a name = "clients">Clients</a>  <!--相同文档-->
<a name = "filenameBclients">Clients</a>  <!--不同文档, 比如文档 B-->

表格标签

<table>
    <tr>
        <td></td>
    </tr>
    <tr>
        <td></td>
    </tr>
</table>

HTML5新特性:语义化、本地存储、连接性、网页多媒体、三维图形特效(各标签的功能需清晰,尤其是其特有标签元素)

2. CSS

CSS样式如下:(优先级,从上到下逐渐降低)

  1. 内联样式

     <div style="color: red;">
    
  2. 内部样式

     <style>p{color: red;}</style>
    
  3. 外部样式

通过link标签引入外部CSS样式表

3. javascript

定义:是一种嵌入在HTML文档中,具有跨平台性、安全性,基于对象和事件驱动的解释型编程脚本语言

Js特点

  1. 是一种脚本语言
  2. 基于对象
  3. 安全、跨平台、动态

    <!DOCTYPE html>




    Document




    <button onclick="alert('I miss You')">错过</button>
    


Js关键字:let、var,区别如下:

  • let将声明变量的生命周期限定在一个代码块内
  • var声明的变量在整个方法内均可访问

Js常见事件

  • 事件概念:用户与Web网页交互产生的操作

  • 事件处理概念:浏览器响应事件并进行处理的过程。而进行这种处理的代码称为事件的响应函数

Js对象

  • 内置对象:String、Math、Array、Date

    //数组创建
    var arr = new Array(8);
    
  • window对象:

  • document对象:

  • 自定义对象:

JAVA和Javascript的区别

① JS是基于对象的脚本语言,而JAVA是面向对象的编程语言
② 在浏览器的执行方式不同:解释(JS)、编译(JAVA)
③ 采用的变量不同:弱类型(JS,声明变量时无需指定变量类型),强类型(JAVA)
④ 代码格式不同:JS嵌入HTML,JAVA与HTML无关

三、Servlet

Servlet是运行在服务端的Java小程序,是sun公司提供的一套规范(接口),用于处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态地向客户端输出内容

Servlet的常见配置如下

<!-- 配置Servlet -->
<servlet>
        <servlet-name>xxx</servlet-name>
        <servlet-class>xxx.xxx.xxx</servlet-class>
</servlet>

<!-- 配置Servlet映射路径 -->

<servlet-mapping>
        <servlet-name>xxx</servlet-name>
        <url-pattern>/xxx</url-pattern>
</servlet-mapping>

1. Servlet在Web应用中的作用

Servlet在Web中主要用于处理客户端发送的HTTP请求,并生成相应的HTTP响应,通过Servlet开发者可实现各种功能,比如用户认证、数据处理等.

2. Servlet生命周期工作流程

1)加载阶段:Servlet容器加载Servlet类并实例化一个Servlet实例对象

2)初始化阶段:Servlet容器调用Servlet类的实例对象的init()方法进行Servlet的初始化

3)调用阶段:如果Servlet容器收到对该Servlet的请求,则调用此实例对象的service()方法处理请求并返回响应结果

4)销毁阶段:Servlet容器在卸载该Servlet前,调用它的destroy()方法将其销毁

3. Servlet常用方法

1)Servlet类需要继承HttpServlet类

2)Servlet类的父类HttpServlet中包含以下几种方法:

  1. init():Servlet的初始化方法,Servlet创建后执行
  2. doGet():请求类型为get时调用
  3. doPost():请求类型为post时调用
  4. destroy():用于释放资源
  5. forward() / sendRedirect():用于请求转发或重定向到其他页面

4. 请求转发和重定向

请求转发与重定向的异同点如下:

  • 请求转发和重定向都可以实现访问一个资源时转向当前应用资源
  • 请求转发是一次请求一次响应,而重定向为两次请求两次响应

重定向:(两次请求,地址栏看得到变化,数据丢失)

response.sendRedirect("相对路径");

请求转发:(一次请求,地址栏看不到改变,数据不丢失,可以getParameter数据,也可以getAttribute数据)

request.getRequestDispatcher("相对路径").forward(request,response);

应用场景

  • 一般情况下应该使用请求转发,减少浏览器对服务器的访问,减轻服务器压力
  • 如果需要改变浏览器的地址栏,或更改浏览器的刷新按钮的功能时需要使用重定向

Servlet过滤器

概念:运行在服务器上,位于请求和响应之间,起过滤作用的程序

Filter工作原理(执行流程)

  • 请求首先被过滤器链的第一个Servlet过滤器处理
  • 在第一个Servlet过滤器的请求处理完毕后,请求会被交给下一个Servlet过滤器处理
  • 客户的请求就这样在过滤器中逐个处理,直到请求发送给目标为止

Servlet过滤器通过javax.servlet.Filter接口提供一个无参构造函数来实现

  1. void init(FilterConfig config):初始化功能
  2. void doFilter(servletRequest request, ServletResponse response, Filter chain):实现过滤功能
  3. void destroy():生命周期结束,自动调用

1、请列举Servlet接口中的方法,并分别说明这些方法的特点及其作用(书 189 页)

Servlet接口中有init、service、destroy 、getServletConfig和getServletInfo这5个方法,这些方法的特点及其作用具体如下:

  1. init(ServletConfig config)方法,该方法在服务器对Servlet第一次访问时调用,负责Servlet初始化工作。在一个Servlet的生命周期中只执行一次。该方法接收一个ServletConfig类型的参数,Servlet容器可以通过这个参数向Servlet传递初始化配置信息。

  2. service(ServletRequest request,ServletResponse response) 方法,该方法负责响应用户的请求,当容器接收到客户端访问Servlet对象的请求时,就会调用此方法。

  3. destroy() 方法,该方法方法负责释放Servlet对象占用的资源。当Servlet对象被销毁时,容器会调用此方法。

  4. getServletConfig() 方法,该方法返回容器调用init(ServletConfig config)方法时传递给Servlet的ServletConfig对象。

  5. getServletInfo() 方法,该方法返回一个字符串,其中包含了关于Servlet的信息,例如,作者、版本和版权等信息。

2、简述ServletContext接口的三个主要作用

  1. 获取Web应用程序的初始化参数

  2. 实现多个Servlet对象共享数据

  3. 读取Web应用下的资源文件

3、如何部署和访问servlet服务器

  • 部署:打开【servers】选项卡,选中部署web应用的Tomcat服务器,右键单击并选择【Add and Remove】选项,进入部署web应用的界面,选中“chapter03”,单击【Add】按钮,将chapter03项目添加到Tomcat服务器中,单击【finish】按钮,完成web应用的部署
  • 访问:接下来启动eclipse中的Tomcat服务器,在浏览器的地址栏上输入地址“http://localhost:8080/chapter03/TestServlet01”访问TestServlet01

四、MVC

基本概念:MVC设计模式是编程语言的一种软件设计模式,提供了一种按功能对软件进行模块划分的方法。MVC设计模式将软件程序分为三个核心模块:模型(Model)、视图(View)和控制器(Controller)

  1. MVC模式中,模型对应的组件在:JavaBean
  2. MVC模式中,视图对应的组件是:JSP或HTML文件
  3. MVC模式中,控制器的作用是:控制器负责转发请求,对请求进行处理

M(模型层)指的是:实体类、Service层、dao层

MVC设计模式中模型(Model)模块的作用如下:

  1. 管理应用程序的业务数据
  2. 定义访问控制和修改这些数据的业务规则
  3. 当模型的状态发生改变时,它会通知视图发生改变,并为视图提供查询模型状态的方法

MVC模式的优缺点如下:

  • 优点:各司其职,互不干涉、利于分工、利于重用和扩展
  • 缺点:不适用于开发中小型应用程序

Model2(JSP + Servlet + JavaBean)

四、SSM框架

1. SSM框架处理步骤

(1)客户机发送请求,该请求会被配置在web.xml文件中的前端控制器(DispacherServlet)接收和拦截。

(2)由DispacherServlet调用处理器映射器(HandlerMapping),处理器映射器根据请求找到具体的处理器(Handler),并生成Handler对象和拦截器返回给DispacherServlet。

(3)DispacherServlet选择对应的处理器适配器(HandlerAdapter),HandlerAdapter调用并执行Handler。通过Handler对持久化对象(PO)进行增删改查操作,由实体对象(POJO)将操作映射到持久层框架。最终持久层框架将操作映射到数据库。

(4)数据库将操作后得到的结果返回,经由PO和Handler将操作结果提交给一个包含模型和视图名称的ModelAndView对象。该模型会由HandlerAdapter返回给DispacherServlet。

(5) DispacherServlet根据模型选择合适的视图解析器(ViewResolver)对模型进行解析,并返回合适的视图,DispacherServlet对视图进行渲染,视图被发送至客户机显示。

2. SSM配置

  1. pom.xml中配置Spring、JDBC等等
  2. web.xml中配置编码、过滤器、监听器、Spring MVC、日志等
    1. <servlet>标记对命名Servlet
    2. <servlet-mapping>标记对为Servlet指定对应的URL
    3. <context-param><init-param>来定义参数
      • 前者定义的参数整个项目均可访问
      • 后者定义的项目只有在指定的Servlet中才能访问
    4. <Listener>标签配置监听器
    5. <filter><filter-mapping>标签配置过滤器
  3. 配置jdbc.properties文件(与数据库相关的属性,比如:连接数量的限制)
  4. 配置SpringMVC.xml文件
  5. 配置Spring.xml文件
  6. 配置MyBatis.xml文件(比如:全局映射器是否使用缓存、延迟加载等)

3. SSM层次结构

  1. 视图层:负责前台网页显示,将视图返回给客户机
  2. 表现层(controller):系统接收用户请求后,根据用户请求的URL确定处理用户请求的业务逻辑
  3. 业务层(service + serviceimpl):负责业务模块设计
  4. 持久层(mapper + 实体类)
    • 用dao接口来实现持久层,在mapper.xml设计对数据库的具体操作的SQL语句,并且可以指定namespace路径来建立mapper和dao接口的关联
  5. 数据库

4. SSM核心技术

包含SpringIOC、DI和AOP等(DI是IOC的一种实现方式)

IOC容器中管理的Bean的生命周期的过程如下:

  1. 第一阶段:Bean配置原始数据
  2. 第二阶段:Bean实例化阶段
  3. 第三阶段:Bean的属性赋值阶段
  4. 第四阶段:Bean的销毁回收阶段

IOC的优点

  • 可以将对象内部的构造细节进行封装
  • 解决了对象之间的耦合性

依赖查找和依赖注入的区别:

  • 前者需要在Java程序中主动调用IOC容器提供的接口来获取Java对象,后者获取对象的工作由IOC容器代替开发者完成

IOC对象创建的3个途径:属性注入、使用注解自动装配、构造器注入

5. AOP面向面编程

  • 连接点(JoinPoint)
  • 切点(PointCut)
  • 通知(Advice)
  • 切面(Aspect)
  • 引入(Introduction)
  • 目标对象(Target Object)
  • 代理(Proxy)

请说明反转控制(IOC)和面向切面编程(AOP)在spring中的应用

6. Mybatis

Mybatis在SSM中的pom.xml配置如下:

<dependency>
    <grouId>org.my
版权声明:程序员胖胖胖虎阿 发表于 2025年7月3日 上午9:31。
转载请注明:

Java Web期末快速突破

| 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...