Javaweb简答题
1.简述c/s结构与b/s结构的特点及各自优势。
b/s结构是浏览器/服务器结构。客户端不需要安装任何软件,数据库及数据处理都在服务器完成。
c/s结构是客户端/服务器结构,客户端必须安装专用的客户端软件,数据处理在客户端完成,对客户端要求比较高
2. 简述http的主要特点
简单快速:请求只需要提供路径
方法灵活:支持任意类型的数据对象无连接无状态支持b/s和c/s
-
web应用开发的主要包括那些阶段?
需求分析,系统设计,编程实现,测试发布 -
举例说明HTML文件的基本结构。
- 如何再HTML文档中使用JavaScript脚本?
JavaScript脚本可以嵌在文档中的其他任何地方。常用的嵌入方式有:(1)脚本置于标记间(2)脚本直接嵌入再HTML的窗体或链接中。(3)使用SRC属性应用外部脚本文件。
-
简述JavaScript Web应用的开发环境和运行环境。
JDK的jdk文件夹是一些java(如编译工具javac.exe,运行工具java.exe等);而jre文件夹是java运行时环境,包含java运行时所需的一些基础类库(以jar文件形式提供) -
简述JSP的运行机制
客户端发出请求。
Servlet容器将JSP转义成Servlet源代码。
Servlet容器将产生的源代码进行编译。
Servlet容器加载编译后的代码并执行。
将执行结果响应至客户端。
-
JSP中现实页面间的跳转有哪几种形式,各有什么特点,请举例说明。
两种形式,request对象可以将数据进行交互,response对象可以链接到
一个HTML网页。 -
简述JSP中的各种作用域及相关的内置对象。
第一个作用域是page,他只在当前页面有效,也就是用户请求的页面有效,当当前页面关闭或转到其他页面时,page对象将在响应回馈给客户端后释放。
第二个作用域是request,他在当前请求中有效,request可以通过setAttribute()方法实现页面中的信息传递,也可以通过forward()方法进行页面间的跳转,需要注意的是request是转发不是重定向,转发相对于浏览器来说是透明的,也就是无论页面如何跳转,地址栏上显示的依旧是最初的地址。
第三个作用域是session,他在当前回话中有效。当一个台电脑上的同一浏览器对服务器进行多次访问时,在这多次访问之间传递的信息就是session作用域的范围。它从浏览器发出第一个HTTP请求即可认为会话开始,但是会话结束的时间是不确定的,因为在浏览器关闭时并不会通知服务器,一般Tomcat设置的默认时间为120分钟,也可以通过setMaxInactiveInterval(int)方法进行设置,或是通过invalidate()方法强制结束当前会话。
第四个作用域是application,他在所有的应用程序中都有效,也就是当服务器开始到服务器结束这段时间,application作用域中存储的数据都是有效的,同样可以通过setAttribute赋值和getAttribute取值。 -
简述session对象和cookie的区别于联系。
Cookie对象和session对象都是保存特有用户的信息的对象,并且都能实现数据的跨页使用;不同点:cookie对象将信息保存在客户端,不是很安全,而且数据量有限;session对象将信息保存在服务器端,对数据量没有限制。 -
简述jdbc数据库连接的基本概念和主要功能。
JDBC (Java DataBase Connectivity):Java数据库连接,Java语言操作数据库。是官方(sun公司)定义的一套操作所有关系型数据库的规则, 即接口。各个数据库厂商去实现这个接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
主要功能
(1)建立与数据库的连接
(2)发送sql语句
(3)处理结果
13.基于jdbc编写数据库访问代码主要有那些步骤。
1.建立数据源 2.建立连接 3.发送sql语句。
14.什么是sql注入攻击,在java web应用开发中如何防范?
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。只要在利用表单输入的内容构造SQL命令之前第一:替换单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义第二:删除用户输入内容中的所有连字符第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作
- 编写javabean需要遵循哪些规范?
(1)它必须具有一个公共的,无参的构造方法,这个方法 可以是编译器自动产生的缺省构造方法。
(2)它提供公共的setter方法和getter方法让外部程序设置和获取javabean的属性。
(3)他是一个公有类。
(4)通常可以实现java.io.Serializable用于序列化。 - 简述创建javabean实例的四种作用范围及其含义。
Page//仅在当前页面有效
Request//可以通过httpRequest.getAttribute()
页面范围:每个JavaBean对象只属于当前的JSP页面,只在当前页面中有效
请求范围:每个JavaBean对象只在一次请求中有效。如果页面发生了跳转,则属性会失效。页面和请求范围的JavaBean有时类似表单的bean,这是因为他们大都用于处理表单。表单需要很长的时间来处理用户的输入,通常情况下用于页面接受HTTP/POST或者GET请求。另外页面和请求范围的bean可以用于减少大型站点服务器上的负载,如果使用对话bean,耽搁的处理就可能会消耗掉很多资源
对话范围:每个JavaBean对象都寄存于session中,即在浏览器与服务器的一次会话范围内有效,和服务器断开连接后,该JavaBean对象就失效。主要应用于跨多个页面和时间段:例如填充用户信息。 添加信息并且接受回馈,保存用户最近执行页面的轨迹。对话范围JavaBean保留一些和用户对话ID相关的信息。这些信息来自临时的对话cookie,并在当用户关闭浏览器时,这个cookie将从客户端和服务器删除。
应用范围:每个JavaBean对象都寄存于application中,也就是在整个服务器范围内有效,当服务器停止时,该JavaBean对象失效。通常应用于服务器的部件,例如 JDBC连接池、应用监视、用户计数和其他参与用户行为的类。
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。1
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫