栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb常见问题汇总

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb常见问题汇总

文章目录
  • HTTP常见状态码
  • GET与POST的区别
  • 重定向与转发的区别
  • Session与cookie的区别
  • Servlet是单例还是多例
  • JSP与Servlet的区别

HTTP常见状态码
状态码说明
200OK,资源请求成功,最常见的状态码
301Moved Permanently,永久重定向。http 转向 https 时,有时会使用 301,例如B站,请求的 URL 已移走。
Response 中应该包含一个Location URL,说明资源现在所处的位置
302Moved Temporarily,临时重定向。http 转向 https 时,有时也会使用 302,如知乎
400Bad Request,客户端请求存在语法错误,不能被服务器所理解
401Unauthorized,当没有权限的用户请求需要带有权限的资源时,会返回 401,此时携带正确的权限凭证再试一次可以解决问题
403Forbidden,服务器收到请求,但是拒绝提供服务
404Not Found,请求资源不存在,例如输入了错误的 URL
500Internal Server Error,服务器内部错误,很有可能是应用层未捕获错误而导致整个服务挂掉
503Server Unavailable ,服务器当前不能处理客户端的请求,一段时间后可能恢复正常
GET与POST的区别
  • Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是 GET , POST , PUT , DELETE 。
  • URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE 就对应着对这个资源的 查,改,增,删 4个操作。
  • GET一般用于 获取/查询 资源信息,POST一般用于更新资源信息。

重定向与转发的区别

本质区别:转发是服务器行为,重定向是客户端行为。

  • 转 发:一次请求,浏览器地址不变,访问的是自己本身的web资源,传输的数据不会丢失。
  • 重定向:两次请求,浏览器地址改变,可以访问自己web之外的资源,传输的数据会丢失。

Session与cookie的区别

Servlet是单例还是多例

Servlet容器默认采用单实例多线程的方式处理多个请求:

  1. 当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个 Servlet 实例);
  2. 容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值等等。
  3. 当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread) 调度它管理下线程池中等待执行的线程(Worker Thread)给请求者;
  4. 线程执行Servlet的service方法;
  5. 请求结束,放回线程池,等待被调用。

单例多线程的优点:

  1. Servlet单实例,减少了产生servlet的开销;
  2. 通过线程池来响应多个请求,提高了请求的响应时间。

单例多线程的缺点:

  1. Servlet的线程安全问题只有在大量的并发访问时才会显现出来,并且很难发现,因此在编写Servlet程序时要特别注意。线程安全问题主要是由实例变量造成的,因此在Servlet中应避免使用实例变量。
  2. 如果应用程序设计无法避免使用实例变量,那么使用同步来保护要使用的实例变量,但为保证系统的最佳性能,应该同步可用性最小的代码路径。
JSP与Servlet的区别
  1. JSP经编译后就变成了Servlet。(JSP的本质就是Servlet,JVM只能识别java类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
  2. JSP更擅长于页面显示,Servlet更擅长于逻辑控制。
  3. Servlet中没有内置对象,JSP中的内置对象都是必须通过HttpServletRequest对象,HttpServlet对象得到。
  4. JSP是Servlet的一种简化,使用JSP只需完成开发者需要输出到客户端的内容,JSP中的Java脚本由JSP容器镶嵌到一个类中。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类Servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑在Java文件中,并且完全从表示层中的HTML里分离开来;而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号