JAVA面试:基础二 JAVA Web

1、JSP九个内置对象

  • request:封装客户端请求
  • response:封装服务器对客户端的相应
  • pageContext:通过改对象获取其他对象
  • session:封装当前用户会话信息
  • application:封装服务器运行环境的对象
  • out:输出服务器响应的输出流
  • config:Web应用的配置对象
  • page:JSP页面
  • exception:封装页面抛出的异常

2、JSP四种作用域

  • page:代表一个页面相关的对象和属性
  • request:代表与客户端发起的一个请求相关的对象和属性(可跨越多个页面)
  • session:代表某个用户与服务器建立的一次会话相关的对象和属性
  • application:代表与整个web应用程序相关的对象和属性

3、session的工作原理

       session实质为存储在服务器上的散列表格文件,类似Map,键为用户的sessionid,用户向服务器发送请求时会带上这个sessionid,这样就可以从中获取对应的值了。

 

4、session 和cookie的区别

        session:是服务端保存数据的一种数据结构,用于跟踪用户状态

       cookie:是客户端保存用户信息的一种机制,用来记录用户信息

 

5、servlet的生命周期<通过javax.servlet.Servlet接口中的init()、service()、destory()方法表示>

  • 加载和实例化:Servlet容器通过类加载器加载Servlet类,成功加载后,通过反射API来创建Servlet实例,此时调用Servlet的默认构造方法(不带参数的构造方法),因此在编写Servlet类时,不能提供带参数的构造方法。
  • 初始化:容器调用Servlet的init() 方法初始化这个对象,用于对象在处理客户端请求前完成一些初始化工作,如数据库链接、获取配置信息等。init()方法只能调用一次,且可抛出两种异常

            ServletException:用于指明一般的初始化失败,如无法找到初始化参数

            UnavailableException:用于指明Servlet实例不可用,如数据库服务器无法建立连接等

  • 请求处理:调用Servlet的service()方法对请求进行处理,但在调用之前,需确保init()方法执行成功。Service实例通过ServletRequest对象获取客户端的相关信息和请求信息,对请求进行处理后,调用ServletResponse对象设置相应信息
  • 服务终止:调用实例的destory()方法,释放所有资源,保存数据到持久化设备中,且destory()方法只能调用一次

6、常见攻击,已经如何避免

  • sql注入:
  • XSS攻击-跨站脚本攻击:攻击者向有XSS漏洞的网站输入恶意HTML代码,当用户浏览该网站时,这段HTML代码会自动执

        行,如盗取用户账号信息。<对输入进行过滤校验,对输出进行编码>

 

  • CSRF攻击-跨站请求伪造:攻击者通过伪造用户的浏览器的请求,向访问一个自己曾经认证过的网站发送信息,如进行转账、发布信息等<验证HTTP  Referer字段、请求地址中添加token并验证>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值