JavaWeb期末个人复习笔记(部分)

JavaWeb期末考点

java如何写入cookie

cookie是存储在硬盘中的数据

通过httpServletRequest接口来访问浏览器请求中的cookies数据

cookie生命周期

可以手动设置,不设置的话生命周期为会话期间,关闭浏览器cookie就消失了

cookie可以在不同的浏览器进程间共享

cookie.setmaxage设置为0时,会马上在浏览器上删除指定的cookie

cookie.setmaxage设置为-1时,代表关闭当前浏览器即失效。

jsp使用javabean的标签

<jsp:useBean> 标签可以在 JSP 中声明一个 JavaBean,然后使用。声明后,JavaBean 对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问。

<jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>
<%--举例--%>
<jsp:useBean id="date" class="java.util.Date" /> 
<p>日期为:<%= date %>

scope 的值可以是 page,request,session 或 application

<jsp:useBean id="students" class="com.runoob.StudentsBean"> 
   <jsp:setProperty name="students" property="firstName" value="小强"/>
   <jsp:setProperty name="students" property="lastName" value="王"/>
   <jsp:setProperty name="students" property="age" value="10"/>
</jsp:useBean>

<p>学生名字: 
   <jsp:getProperty name="students" property="firstName"/>
</p>
<p>学生姓氏: 
   <jsp:getProperty name="students" property="lastName"/>
</p>
<p>学生年龄: 
   <jsp:getProperty name="students" property="age"/>
</p>

jsp可以使用useBean标签来声明javaBean,scope声明范围

tomcat改端口

conf文件夹,在里面找到server.xml

找到

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

直接改就行

javabean由哪三方面组成

构造方法,属性,getter/setter

javabean

  • 提供一个默认的无参构造函数。
  • 需要被序列化并且实现了 Serializable 接口。
  • 可能有一系列可读写属性。
  • 可能有一系列的 getter 或 setter 方法。

javaBean的三个特点

必须有一个是public

有一个不带参数的构造函数

JavaBean通过 getProperty获取属性,通过setProperty设置属性

jsp有三种脚本元素

三大指令元素

  • page
  • include
  • taglib

七大动作元素

  • forward
  • include
  • param
  • plugin
  • useBean
  • setProperty
  • getProperty

三大脚本元素

  • 声明<%! %> 例如声明方法啊,变量啊什么的
  • 脚本<% %> java代码
  • 表达式<%= %>

跳转两种方式

转发

request.getRequestDispatcher("/two").forward(request, response);

url不改变

服务器端跳转

重定向

url改变

浏览器跳转

请求域数据丢失

response.sendRedirect("two");

jsp和servlet的声明周期和工作原理?

jsp运行原理

发送请求到服务器->服务器识别出这是将jsp页面的请求->交给jsp引擎->磁盘载入jsp->转成servlet->处理完成后传给servlet引擎->产生html格式的输出返回相应

jsp声明周期

  • 编译(当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。)
  • 初始化(容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法)
  • 执行(调用_jspService())
  • 销毁

servlet运行原理

发出请求->产生req和res对象->找到servlet创建线程->调用service(),根据请求类型执行doGet或者其他->执行完成后返回->线程销毁

servlet声明周期

服务器加载servlet->创建servlet->调用init->调用service->service处理后返回客户端->等待下一个请求或者服务器卸载->卸载调用destroy方法

servlet的三个重要方法用来控制声明周期

  • Servlet 初始化后调用 init () 方法。
  • Servlet 调用 service() 方法来处理客户端的请求,doGet,doPost等
  • Servlet 销毁前调用 destroy() 方法。

image-20220107090819245

jsp九大内置对象

  • PageContext 页面上下文
  • request 用户的请求信息
  • response 服务器向客户端的回应信息
  • session 用来保存每一个用户的信息
  • application ServletContext 所有用户的共享信息
  • config 服务器配置信息,可以取得初始化参数
  • out 输出
  • page 当前页面
  • exception 异常

静态包含和动态包含

静态包含的语法<%@include file="xxx.jsp"%>

动态包含的语法<jsp:include page="xxx.jsp"/>

静态就是直接合并成一个,动态是导入但不合并

tablib处理体内容和简单标记??

jdbc stamtment 提供了三个方法

Statement接口主要有如下三个方法:

  1. ResultSet executeQuery(String sql)
    用于执行查询语句,返回 ResultSet结果集(一个二维表)

  2. int executeUpdate(String sql)
    用于执行添加、删除或修改操作,返回被更新记录的条数

  3. boolean execute(String sql)
    执行参数部分的SQL语句;
    当SQL语句的执行结果是一个ResultSet结果集时,本方法返回true;并可以通过StatementgetResultSet()方法得到返回的结果集
    当SQL语句执行后没有返回的结果集时,该方法返回false

mvc的简单了解

m:model,业务层

v:view,用户看到的,一般是html之类的界面

c:controller,接收输入调用view和model

数据库连接池

数据库连接池的基本原理是在内部对象池中维护一定数量的数据库连接,并对外暴露数据库连接获取和返回的方法。

参数

最小连接数默认0

最大连接数默认100

最大空闲时间默认15s

c3p0

功能简单易用,稳定性好。 缺点就是性能差,其架构设计过于复杂

dbcp

DBCP通过连接池预先同数据库建立一些连接放在内存中(即连接池中),应用程序需要建立数据库连接时直接到从接池中申请一个连接使用,用完后由连接池回收该连接,从而达到连接复用,减少资源消耗的目的。这个我没怎么用过,不做过多展开,用兴趣的可以去了解一下。

HikariCP

性能最好

Druid

中文文档比较齐全,它的优点在于强大的监控功能,可以清楚的知道 连接池和SQL的工作情况,方便扩展。

性能方面

hikariCP>druid>tomcat-jdbc>dbcp>c3p0

jdbc调用存储过程

唯一标识符:sessionID

servlet 调用doGet和doPost的时机:听从调用?

jdbc哪三个执行sql:
操作数据库步骤:www.cnblogs.com/xuxinstyle/p/9128869.html

  • 加载(注册)数据库驱动(到JVM)。

  • 建立(获取)数据库连接。

  • 创建(获取)数据库操作对象。

  • 定义操作的SQL语句。

  • 执行数据库操作。

  • 获取并操作结果集。

  • 关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)。

jdbc事务

clob与blob

clob:字符大对象(单字节字符组成)

blob:二进制大对象(二进制组成)

stmt:
cookie中session默认存活:30min
存活时间设置setMaxAge

jsp与servlet相同与不同点

1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

webservice

基于http协议

http的基础上+xml

webService

三个角色

  • service registry
  • service provider
  • service requestor

taglib

taglib原理

例子

自定义标记库的步骤

  • 编写jsp
  • 编写tld
  • 编写标记处理程序

题型分配

填空 20

单选 10 * 2 = 20

简答 5 * 8 = 40

编程 2 * 10 = 20

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值