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() 方法。
jsp九大内置对象
PageContext
页面上下文request
用户的请求信息response
服务器向客户端的回应信息session
用来保存每一个用户的信息application
ServletContext 所有用户的共享信息config
服务器配置信息,可以取得初始化参数out
输出page
当前页面exception
异常
静态包含和动态包含
静态包含的语法<%@include file="xxx.jsp"%>
动态包含的语法<jsp:include page="xxx.jsp"/>
静态就是直接合并成一个,动态是导入但不合并
tablib处理体内容和简单标记??
jdbc stamtment 提供了三个方法
Statement接口主要有如下三个方法:
-
ResultSet executeQuery(String sql)
用于执行查询语句,返回 ResultSet结果集(一个二维表) -
int executeUpdate(String sql)
用于执行添加、删除或修改操作,返回被更新记录的条数 -
boolean execute(String sql)
执行参数部分的SQL语句;
当SQL语句的执行结果是一个ResultSet结果集时,本方法返回true;并可以通过StatementgetResultSet()方法得到返回的结果集
当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
三个角色
- service registry
- service provider
- service requestor
taglib
自定义标记库的步骤
- 编写jsp
- 编写tld
- 编写标记处理程序
题型分配
填空 20
单选 10 * 2 = 20
简答 5 * 8 = 40
编程 2 * 10 = 20