Java服务器复习笔记

1、Servlet环境配置、导包

环境需要配置:jdktomcat服务器
导包:会用到servlet-api.jar
注意:如果使用的是tomcat 9.0,那么在 .xml文件中web-app的version要填写4.0;如果是tomcat7.0,那么就要填写3.0,版本要匹配,不然会导致程序运行错误。

2、Servlet生命周期的具体说明

  1. 创建一个servlet容器
    在服务器启动时,会创建一个servlet容器
  2. 初始化servlet对象
    在服务器接收到客户端发来的请求时,会调用**init()**方法,对servlet对象进行初始化。
  3. 处理请求中的具体任务
    在初始化对象完成之后,会调用service()方法来处理请求中的任务
  4. 销毁servlet容器,释放占用的资源
    在服务器关闭之前,会调用destory() 方法来销毁servlet容器,逐一释放servlet对象,释放占用的资源

3、 配置和使用servlet类和方法

  1. 实现Servlet接口
    直接实现servlet接口
    重写servlet中的service()方法

    servlet接口中doGet没有doPost方法常用,因为doGet方法提交表单的时候会在url显示提交的内容,不安全,而且doGet方法只能提交256个字符(1024字节);反观doPost方法,它是HTTP头键值对,长度不受限制,只能以form形式提交。

  2. 继承HttpServlet类
    标准HttpServlet类实现Servlet接口
    重写Servlet接口的service()方法
    在Servlet接口的重写方法service()中,调用当前servlet类(HttpServlet)的成员方法service(),这是service()方法的重载
    在HttpServlet类的重载方法中,对请求方法进行分类,调用对应的doXXX方法(例如doGet,doPost),这些方法有自己默认的实现内容。

4、表单数据的提交方法(两种)

  1. Get方法
    get方法的查询字符串会附加在URL后一起发送到服务器

    特点:get请求可以被缓存,会保存在浏览器的浏览记录中,但是它的长度有限制,不能超过1024字节,而且安全性较低

  2. Post方法
    post方法的查询字符串在post中单独存在,和http请求一起发送到服务器端。

    特点:不能缓存,不会保存到浏览器的浏览记录中,长度不受限制,安全性高。

5、请求、响应的基本概念和使用方式,处理请求时需要注意的细节

  1. 什么是request和response
    request是服务器对浏览器的请求的封装,response是服务器对服务器相应的封装。

  2. 使用方式
    add和set方法:
    add用来直接添加,set用来进行修改
    例如:

//设置请求的编码格式
request.setCharacterEncoding("UTF-8");
//设置相应的编码格式
response.setContextType("text/html;charset=UTF-8");
  1. 处理一个请求大概分为如下步骤:
//设置请求的编码格式

//设置响应的编码格式

//获取请求中的内容

//处理请求
	//创建一个处理请求的业务对象
//返回处理的结果

6、Servlet和JSP的转发和重定向的基本概念和使用方式

转发:一个请求,在服务器上,转交给另一个(多个)servlet去处理的方式,由于转发是在服务器上进行的,所以本地浏览器地址栏不会发生变化,转发的时候,可以将某些特定的数据带到下一个 servlet中去处理很响应

重定向:“两个”请求,不同的请求,由同一个客户端发出,当第一个请求在服务器上的servlet中执行到需要重定向的时候,客户端浏览器,会再次发出一个新的请求给另一个servlet
在这里插入图片描述

7、 Cookie和Session的基本概念和使用方式

Cookie技术:将数据存储在浏览器端;
Session技术:将数据存储在服务器端;
特点:能够在多次请求和响应之间共享。

8. JSP基本原理、第三方库(JSTL)的使用

  1. jsp简介:jsp核心实质是servlet技术,是后来添加的基于servlet技术的一种扩展技术。

  2. 如果客户请求的是一个jsp文件,那么jsp引擎就会把该jsp文件转换成servlet的java文件,实质就是用servlet来处理客户端的请求。

  3. 转换规则:所有非jsp文本(html,xml)都会在_jspService方法中使用out对象输出

    所有的<% %>和<%= %>脚本都会在它对应的地方插入到_jspService方法中

    所有的jsp注释<%-- --%>都会保留在jsp代码中。

    所有的EL,JSTL会被jsp引擎特殊转换。

  4. EL表达式(Expression Language)
    使用方法:${ key } ,以 ${ 为开始 ,以 } 为结束。

    与jsp代码的区别:

<%-- <%=xxx %>  --%> <!-- 如果没有获取到名叫xxx的变量里面的数据,则直接报错  -->
${xxx} <!-- 此处即使有错,也不会影响后续的执行,也不会有任何提示  -->

用EL表示写的代码,在运行时它会先在page中找需要得到的数据,找不到就会去request中找,还找不到就会去session中找,还没有就去application找,都没有的话就不显示。

举例,获取请求中的数据:

//jsp常规写法
<%=request.getParameter("username") %>
<%=request.getParameter("password") %>

//EL表达式写法:
${param.username}
${param.password}
  1. JSTL(JSP标准标签库)
    准备:两个必备的jar包(standard.jar和jstl.jar)
    在jsp页面中引入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    编写jstl代码:<c:out value="这里是c:out标签中 value属性里面的内容"></c:out>
<c:set var="Test" value="test_value"></c:set> <!-- 默认添加的作用域是 pageContext  -->
<c:remove var="Test"/>  <!-- 默认删除所有作用域中的 Test  -->
<c:remove var="Test" scope="request"/>  <!-- 指定删除request作用域中的 Test  -->

9. 九个内置对象、四个变量的作用域

  1. 九大内置对象:
    application ,应用程序对象
    session ,会话对象
    request , 请求对象
    response , 响应对象
    page , 当前页面对象
    pageContext , 页面上下文对象
    out , 输出对象
    config ,配置对象
    exception , 异常对象

  2. 四个作用域:
    page—>request–>session–>application(从小到大)

    page页面域:该作用域的属性只在当前域有效,无法传递到下一个页面
    request请求域:该作用域存的时用户一次请求的信息,服务器返回响应以后就失效了,但是forward方法跳转多个页面时仍然有效。
    session会话域:该域的生命周期是从浏览器打开开始到浏览器关闭结束,或者长时间没有活动(tomcat默认30分钟)
    application应用域:如果不人为删除的话,生命周期是从服务器启动到服务器关闭。该域里面的属性所有人均可访问。

10. JSP中注释的差异

<%-- --%>是服务器端注释代码;
<!--  -->是客户端注释代码;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值