JavaWeb必会基础知识点
1.B/S和C/S的区别?
(1)B/S指的是浏览器和服务器 C/S指的是客户端和服务器
(2)B/S安全性比较低;C/S安全性比较高
(3)B/S只需要编写服务器端程序;
C/S软件更新时需要同时更新客户端和服务器端两端,比较麻烦;
2.tomcat端口号是多少?
8080
3.什么是http协议
超文本传输协议 ,分为请求协议和响应响应
请求协议:请求首行
请求头
空行
请求题
响应协议:响应首行
响应头
空行
响应体
4.什么是get请求?
一般通过地址栏,超链接,发出的请求都是get请求,如果form表单不指定请求方式,那么默认也是使用get请求。
5.什么是post请求?
post只能通过form表单发出
6.get请求和post请求的区别?
(1)get的请求不安全,post请求安全
(2)get请求的参数跟在url后面,post请求参数通过form表单来传参
(3)get的请求参数不会自动编码,post请求通过form表单会将参数自动进行url编码
(4)get请求不能有请求体,post请求可有可无
7.如何设置自动刷新的响应头?
response.setHeader(refresh;3;url=”http://localhost:8080/aaa/a.jsp");
8.http的响应吗你知道多少?
200 代表成功
302 重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;
500 请求资源找到了,但服务器内部出现了错误;
404 访问资源路径不存在
405 客户端的请求方式服务端未能匹配成功
9.什么是Servlet?
Servlet是JavaWeb的三大组件之一,它属于动态资源。
1.接收请求数据
2.处理请求
3.完成响应
10.Servlet的生命周期?
1.Tomcat实例化加载servlet
2.调用servlet中init()方法进行初始化
3.每次请求都会调用service()
4.servlet执行完毕后调用destroy()销毁servlet
11.servlet是不是安全的?
不安全,因为servlet是单例的,异步请求servlet存在线程安全的问题,都是效率高。
12.实现servlet的三种方式。
实现javax.servlet.Servlet接口;
继承javax.servlet.GenericServlet类;
继承javax.servlet.http.HttpServlet类;(常用)
13.HttpServletRequest,HttpServletResponse和ServletRequest,ServletResponse的关系?
在HttpServlet中有两个servlet()方法,一个是生命周期方法,另一个是HttpServlet自己
的方法,在自己的servlet()中会将HttpServletRequest,HttpServletResponse强转ServletRequest
,ServletResponse,在生命周期的servlet()中,调用自己servlet().
14.如何配置servlet路径
在web.xml中配置如下:
15.什么是ServletContext对象
服务器会为每个应用创建一个ServletContext对象,ServletContext对象的作用是在整个web,应用的动态资源之间共享数据!是servlet三大域对象之一。
16.servlet有几个域对象?
3个 HttpServlatRequest HttpSession ServletContext
17.jsp有几个域对象
4个:page request session application
18.el表达式的4个域对象叫什么?
4个 pageScope,requestScope sessionScope,applicationScope
19.request中哪些方法可以获取页面上的参数?
getParamter();getParamterValues();getParamterMap();getParamterName()
20.request中请求转发,和请求包含的区别?
(1)请求转发:request.getRequestDispatcher().forward();
请求包含:request.getRequestDispatcher().include();
(2)如果在AServlet中请求转发到BServlet,那么在AServlet中就不允许再输出响应体
如果在AServlet中请求包含到BServlet,那么在AServlet中也可以输出响应体
21.请求转发和重定向的区别
1.请求转发是一个请求,而重定向是两个请求;
2.请求转发后浏览器地址栏不会有变化,而重定向会有变化,因为重定向是两个请求;
3.请求转发的目标只能是本应用中的资源,重定向的目标可以是其他应用;
4.请求转发对AServlet和BServlet的请求方法是相同的,即要么都是GET,要么都是POST,因
为请求转发是一个请求;
重定向的第二个请求一定是GET;
22.如何设置编码?
request.setCharacterEncoding(“utf-8”);
23.如何设置响应编码?
response.setContentType(“text/html;charset=utf-8”); 设置响应字符的时候
response.setCharacterEncoding(“utf-8”); 设置响应字节的时候
24.什么是cookie?
Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对
25.什么是会话跟踪?
在JavaWeb中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。在一个会话的多个请求中共享数据,这就是会话跟踪技术。
26. session是保存到服务器端还是客户端?
服务器端
27. cookie是保存到服务器端还是客户端?
客户端
28. session的默认保存时间是多少?
30分钟
29. 浏览器可以保存任意多个cookie,没有上限
不对,cookie的规范是一个浏览器最多可以保存300多个
30. 设置cookie的时长使用哪个方法
cookie.setMaxAge(a)
a<0:表示一旦关闭浏览器窗口,那么cookie就会消失
a=0:表示删除cookie
a>0:表示设置cookie的生命 单位为秒
31. 浏览器开始访问网站时,服务器会立即创建session对象吗?
不会,只有遇到getSession()这个方法时,如果存在session,服务器不会创建session,若不存在会为其创建session
32. session的invalidate()方法的作用是?
使session作废
33. 当客户端关闭浏览器时,服务器马上会得到通知,从而销毁session
因为session保存在服务端,session的默认时长为30分钟,30分钟后服务器会自动清理session
34.requset.getSession(false)和request.getSession(true),request.getSession()的区别?
request.getSession(true),request.getSession()的用法是一样的,当调用这两个方法时
如果存在session得到session,如果不存在,为其创建session
requset.getSession(false) 当调用这个方法时 如果存在session得到session,如果不存在
返回null,不会创建session
35. url重写可以弥补客户端禁用cookie而导致的session无法使用的问题?
可以
36. cookie存在被恶意利用的危险?
是的
37. 服务器无限制的创建session,并且让session不被销毁是正确的
错的
38.cookie和session的区别?
cookie保存在客户端浏览器中,session保存在服务浏览器中
cookie存在客户端不安全,session存在服务端比较安全。
cookie中只能保存字符串,session中可以保存更多数据
cookie中有很多限制,session中不受外界因素影响,只有服务器才可管理
cookie不会造成服务器压力,session增多会造成服务器压力大。
39.equals和equalsIgnoreCase区别?
equals查询后的equals比较的内容。区分大小写
equalsIgnoreCase比较内容不区分大小写
40.什么是jsp?
jsp本质就是servlet,也属于动态资源,是特殊的servlet jsp=html+java脚本+jsp动态标签
41.jsp的作用
(1)作为请求发起者
(2)作为数据展示者
注:一般我们不在jsp中处理数据
42.jsp中java的三种脚本?
<%… %>方法可以写什么,这里可以写什么。
<%=… %>print中可以写什么,这里写什么。
<%!… %>类里可以定义什么,这里可以写什么。
43.jsp原理
答:当jsp被首次访问的时候,tomcat先加载jsp文件,然后将jsp编译成.java文件,
再将.java文件编译成.class文件,最后创建servlet文件。
44.jsp中九大内置对象
pageContext 作用于当前页面 一个顶九个
request 作用于整个请求
session 作用于整个会话
application 作用于整个应用
page 指当前jsp的对象,是Object类型(和this区别开)
config 配置信息对象,相当于ServletConfig
out 输出对象,相当于response.getWriter()
response 响应对象
exception 处理异常对象
45.注释和<%— —%>注释的区别?
是HTML中的注释,是静态资源中的注释,用户可以在页面查看源代码中看到
<%— —%>是java脚本中的注释,是动态资源的注释,在服务器上运行,用户是看不到的
46.什么是URL重写?
客户端是可以将cookie禁用的,cookie一旦被禁用,我们将无法使用会话跟踪,这时候可以将
跟踪信息保存到url中,这样每次会在url中将JSPSSIONID当做参数传给session,这样依旧可以
完成会话跟踪,但是使用get方法没办法处理编码问题,这时候我们需要url编码,这就是url重写
47.jsp三大指令
page taglib include
48.jsp中导包用什么属性?
page指令中的improt属性
49.jsp中include指令,和request.getRequestDispacher().include的区别?
<%include %> 它是在jsp编译成java文件时完成的!他们共同生成一个java(就是一个Servlet)文件,
然后再生成一个class!
RequestDistpatcher的include()是一个方法,包含和被包含的是两个servlet,即两个.java
文件和两个.class文件!他们只是把响应的内容在运行时合并了!
50.taglib指令通常用来做什么?
导入标签库
51.域对象常用功能?(共享数据)
往域里存 域对象.setAttribute();
从域里取 域对象.getAttribute();
从域里删 域对象.removeAttribute();
52.jsp中有个代理域对象是谁?
pageContext
53.什么是全域查找
pageContext.findAttribute(String key):
依次在page、request、session、application范围查找名称为name的数据,如果找到就停止查找。
如果这说明在这个范围内有相同名称的数据,那么域范围越小的优先级最高!
54.jsp常用的三个动作标签?
55.什么是JavaBean?
JavaBean是一种规范,也就是对类的要求。他要求java类的成员变量提供getter/setter方法,这样的成员变量被称之为JavaBean属性。javaBean还要求类必须提供仅有的无参构造器。
56.什么是e1表达式?
EL是一门表达式语言,它对应<%=…%>。通常用作取值。
57.什么是JSTL?
JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!需要我们自己导包,以及指定标签库而已!
58.jstl四大标签库
core:核心标签库,我们学习的重点;
fmt:格式化标签库,只需要学习两个标签即可;
sql:数据库标签库,不需要学习了,它过时了;
xml:xml标签库,不需要学习了,它过时了。
59.说出”c” 标签中常用的五个标签?
60.说出”fmt”标签中常用的两个标签?
61.你了解什么是mvc吗?
mvc是一种设计模式,并不是java独有的,这种设计模式被广泛的运用在B/S架构中。
M model 模型层(这里通常由开发人员,自己开发)
V view 视图层(界面设计人员进行图形界面设计)
C Controller 控制层(对请求进行处理,负责请求转发)
62.MVC有什么好处?
(1)MVC可对程序的后期维护和扩展提供了方便,
(2)使程序代码解耦,提高代码的复用性。
(3)而且MVC也使程序简化,更加直观。
63.javaWeb的三层架构
控制层:负责接收数据,处理请求
业务层:处理数据,处理业务
持久层:负责数据库连接,存数据,取数据
还没有评论,来说两句吧...