1,应用程序的两种结构
C/S模式的应用:
Client/Server:客户端+服务器 软件:QQ, 微信, 端游...
优点:TCP/IP网络传输,稳定性高、用户体验好
缺点:企业级别的软件:运维的成本高
B/S模式的应用:
Browser/Server:浏览器+服务器模式 :12306、京东、淘宝、招聘、58同城、
优点:运维的成本低
缺点:依赖于服务器和网络。
2,HTTP请求方式
-
get:向指定的资源发出“显示”请求,使用GET方法应该只用在读取数据。
-
post:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)
3,get请求和post请求的区别
GET提交的数据会放在URL之后,也就是请求行里面,以?分割URL和传输数据,参数之间以&相连,如EditBook?name=test1&id=123456.
POST方法是把提交的数据放在HTTP包的请求体中.
GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
4,什么是Servlet
Servlet是Java Web中的一种组件,用于处理客户端请求并生成响应。
它运行在Web服务器中,可以接收来自客户端的请求并将响应发送回客户端。
Servlet通常用于生成动态Web内容,例如从数据库检索数据并将其呈现给用户。
5,什么是 JSP
JSP(JavaServer Pages)是一种动态Web页面技术,它允许开发人员将Java代码嵌入HTML页面中。
JSP页面在Web服务器上运行,并在客户端请求时动h态生成HTML响/应。
JSP页面通常用于生成动态Web内容,例如从数据库检索数据并将其呈现给用户。
6,创建 Servlet 类的方式:
-
实现 javax.servlet.Servlet 接口,重写其全部方法。
-
继承 javax.servlet.GenericServlet 抽象类,重写 service() 方法。
-
继承 javax.servlet.http.HttpServlet 抽象类,重写 doGet() 或 doPost() 方法。
7,servlet的生命周期?
实例化:通过构造方法实例化,
实例化时间1、第一次请求时 2、设置load-on-startup属性后,随着tomcat启动实例化
初始化:init方法
服务:service方法
销毁:destroy方法,tomcat关闭时 才销毁
8,servlet的工作原理?
客户端发起请求(某个servlet)—>tomcat收到请求—>实例化Servlet(1次)—>处理请求(service—>doGet|doPost—>当tomcat关闭时(销毁servlet实例)
9,forward()和redirect()的区别?
转发:服务器端转发,共享请求,携带request对象中的数据(request.setAttribute())
重定向:2次请求
1、客户端请求:Servlet1
2、服务器会响应一个新的302重定向:Servlet2
3、客户端重新请求:Servlet2
4、request对象和response对象的常用方法?
10,request对象的常用方法:
-
setCharacterEncoding("utf-8")
-
getParameter("名字"):获取参数,http请求中的参数:get请求(地址栏参数),post请求(请求体的参数)
-
getRequestDispatcher("路径").forward(request,response)
-
setAttribute("属性名",属性值)
-
getAttribute("属性名"):只能获取setAttribute种的数据
-
getRequestURI():路径信息
-
getQueryString():获取查询字符串
-
getContextPath():获取上下文路径
11,response对象的常用方法:
-
setCharacterEncoding("utf-8")
-
setContentType("text/html;charset=utf-8")
-
sendRedirect()
-
getWriter():获取输出流
12,Cookie 的分类
-
会话级别 Cookie(默认):Cookie 保存到浏览器的内存中,浏览器关闭则 Cookie 失效。
-
持久的 Cookie:Cookie 以文本文件的形式保存到硬盘上。
12,Cookie 的缺点
Cookie 虽然可以解决服务器跟踪用户状态的问题,但是它具有以下缺点:
-
在 HTTP 请求中,Cookie 是明文传递的,容易泄露用户信息,安全性不高。
-
浏览器可以禁用 Cookie,一旦被禁用,Cookie 将无法正常工作。
-
Cookie 对象中只能设置文本(字符串)信息。
-
客户端浏览器保存 Cookie 的数量和长度是有限制的。
13,session和cookie的区别
cookie: 服务器端生成随着浏览器发往客户端的小段信息,只能存字符串(文本),在客户端存储,安全性低,实现个性化定制。
session: 保存在服务器端的对象,每启动一个会话就会创建一个session对象。依赖于cookie; 存储各种类型的对象,安全性高。