Java web

本文概述了Servlet在Web开发中的关键作用,包括数据处理、路径映射、编码设置、请求参数获取、生命周期管理、会话跟踪、跨域访问以及JavaEE中对象作用域和过滤器的概念。
摘要由CSDN通过智能技术生成

1、简述servlet的主要作用
1.读取客户发送的所有数据
2.查询 HTTP 请求中包含的任何其他请求信息
3.处理数据并生成结果
4.设置合适的 HTTP 响应参数
5.将响应信息回送给客户端

2、自己创建一个servlet需要继承哪个类
继承HttpServlet类
3、指定servlet访问路径的注解是什么
@WebServlet
4、如何设置请求编码
request.setCharacterEncoding(“utf-8”);
5、如何设置响应编码
response.setCharacterEncoding(“utf-8”);
6、如何获取请求参数
使用HttpServletRequest对象中的getParameter方法获取客户端提交参数。 使用HttpServletResponse创建响应输出流,向客户端响应信息。
7、简述servlet的生命周期

  1. Servlet 容器创建 Servlet 的实例(下面会详述Servlet实例创建时机)
  2. Servlet 通过调用 init () 方法进行初始化(只调用一次)。
  3. Servlet 调用 service() 方法来处理客户端的请求(每一次请求都要调用一次)。
    service() 方法会自动调用doGet或doPost。
  4. Servlet 通过调用 destroy() 方法终止(只调用一次)。
    在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。

8、servlet的创建时机使用哪个属性设置
loadOnStartup
9、servlet初始化参数用哪个注解指定
@WebInitParam
10、HTTP状态码有哪些
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由 RFC 2616 规范定义的。所有状态码的第一个数字代表了响应的五种状态之一。
1xx:消息。这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。
2xx:成功。代表请求已成功被服务器接收、理解、并接受。比如:
● 200:请求已成功。出现此状态码是表示正常状态。
3xx:重定向。代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。
4xx:请求错误。代表客户端请求发生错误。比如:
● 404:找不到请求的资源
● 405:服务器端处理请求方法不被允许。
5xx:服务器错误。代表服务器端出现错误。 比如:
● 500:服务器端代码错误。
● 503:服务器异常(通常重启服务器即可解决)。
11、如何将java代码中的对象转为json格式字符串
//使用Jackson的jar包中的ObjectMapper进行java对象与jose数据的转换
ObjectMapper om = new ObjectMapper();
//使用writeValueAsString方法将java对象转换为json格式字符串
out.print(om.writeValueAsString(list));
12、如何设置后台跨域访问
response.setHeader(“Access-Control-Allow-Origin”, “*”);

1、什么是会话
客户端访问服务端发生的一系列请求和响应过程称之为会话。 通俗的说:从打开浏览器向服务器端发送请求开始,到客户端关闭浏览器结束访问为止,就是一个会话。
2、什么是会话跟踪技术
会话跟踪技术,就是一种在客户端与服务器间保持HTTP状态的解决方案,管理浏览器客户端和服务器端之间会话过程中产生的会话数据。
3、Cookie的缺点
1.cookie安全性不够高;
2.cookie可能被禁用;
3.cookie存储空间很小(只有4–10KB左右)
4、简述Session原理
1.当第一次请求时,在服务器端创建一个Session对象,并且为此对象生成一个sessionId。
2.同时,使用Cookie将此sessionId返回给客户端,并存储在客户端的Cookie中。
3.当客户端发起下一次请求时,必须携带此sessionId发送给服务器端。
4.服务器端根据接收的sessionId,就能找回Session对象,从而获取了上一次请求的信息。
5、使用ajax 访问时,会将sessionid写入到Cookie中,返回给客户端。但是需要哪些设置
1.服务器端设置:response.setHeader(“Access-Control-Allow-Credentials”, “true”); 用于设置跨域时允许发送Cookie。
2.服务器端设置:response.setHeader(“Access-Control-Allow-Origin”, “http://127.0.0.1:8848”); 如果允许发送Cookie,那么允许跨域的url就不能为 “*”。
3.如果是使用Axios框架,那么需要设置:axios.defaults.withCredentials = true; 用于设置允许Axios发送Cookie。
6、getSession()与getSession(boolean)的区别
a. getSession() 没有参数:如果存在一个Session对象,就使用此对象;否则就创建新的Session对象。
b. getSession(boolean) 有一个布尔类型参数:
true:等同于 getSession()
false:如果不存在一个Session对象,就返回null
7、Session对象的主动销毁的方式
session.invalidate();
8、简述javaEE三大作用域对象

1.HttpServletRequest作用域对象:作用范围是一个请求响应范围(从一个请求开始,到响应结束)。
2.HttpSession作用域对象:作用范围是一个会话范围(从浏览器发送请求访问服务器开始,到浏览器关闭为止; 在此期间,不论发送了多少次请求响应,都是一个session范围)。
3.ServletContext作用域对象:作用范围是一个应用程序范围(从服务器启动开始,到服务器关闭为止)。
9、过滤器的特点
1.过滤器可以检查和修改ServletRequest和ServletResponse对象。
2. 过滤器可以被指定和特定的URL关联,只有当客户请求访问该URL时,才会触发过滤器。
3.过滤器可以被串联在一起,形成过滤器链,协同修改请求和响应对象。
4. 过滤器是Servlet的一种特殊用法,主要用来完成一些通用的操作。
10、创建过滤器须实现哪个接口
javax.servlet.Filter
11、doFilter方法的作用
doFilter(ServletRequest reg,ServletResponse res,FilterChain chain) 用于进行过滤操作,该方法的第一个参数为ServletRequest对象, 此对象给过滤器提供了对请求信息访问;第二个参数为ServletResponse,用于 响应使用ServletRequest对象访问的信息,通常在简单的过滤器中忽略此参数;最后一个参数为 FilterChain,该参数用来调用过滤器链中的下一个资源。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值