web阶段一些问题

服务器收到用户提交的表单数据,到底是调用Servlet的doGet()还是doPost()方法?

HTML的元素有一个method属性,用来指定提交表单的方式,其值可以是get或post。我们自定义的Servlet一般情况下会重写doGet()或doPost()两个方法之一或全部,如果是GET请求就调用doGet()方法,如果是POST请求就调用doPost()方法

Servlet中如何获取用户提交的查询参数或表单数据?

答:可以通过请求对象(HttpServletRequest)的getParameter()方法通过参数名获得参数值。如果有包含多个值的参数(例如复选框),可以通过请求对象的getParameterValues()方法获得。当然也可以通过请求对象的getParameterMap()获得一个参数名和参数值的映射(Map)。

Ajax你以前用过么?简单介绍一下

AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

一网站如果有大量的人登陆访问。那么会产生很多的session,如果你是程序员你该怎么办。

session默认保存在内存中,内存资源宝贵,session数据量大导致内存利用率高,以下方案解决session内存存储问题:

1、可以设置session超时时间,达到超时时间session自动清空

20

2、将session中的数据序列化到硬盘中
3、不使用session,使用cookie(此方法存在安全性问题)

什么是cookie?Session和cookie有什么区别?

Cookie是会话技术,将用户的信息保存到浏览器的对象.
Session也是会话技术,将Session的信息保存到服务器的对象.Session是基于Cookie的 利用Cookie向浏览器回写JSessionID.

ajax如何实现异步定时5秒刷新

setInterval(function(){
host = window.location.host
$.post(“http://”+host+"/index.php/Article/cpMes/value/1");
},5000);

如何进行网站性能优化

  1. 从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。
  2. 从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。
      总之,恰当的优化不仅能够改善站点的用户体验并且能够节省相当的资源利用。
      前端优化的途径有很多,按粒度大致可以分为两类,第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ;第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。另外,本着提高投入产出比的目的,后文提到的各种优化策略大致按照投入产出比从大到小的顺序排列。
      一、页面级优化
  3. JavaScript 压缩和模块打包
  4. 按需加载资源
  5. 在使用 DOM 操作库时用上 array-ids
  6. 缓存
  7. 启用 HTTP/2
  8. 应用性能分析
  9. 使用负载均衡方案
  10. 为了更快的启动时间考虑一下同构
  11. 使用索引加速数据库查询
  12. 使用更快的转译方案
  13. 避免或最小化 JavaScript 和 CSS 的使用而阻塞渲染
  14. 用于未来的一个建议:使用 service workers + 流
  15. 图片编码优化

TCP编程与UDP编程有什么区别?

TCP协议:传输控制协议,提供可靠无差错的数据传输,效率较低,提供全双工通信
UDP协议:用户数据报协议,不可靠的数据传输,效率较高

创建socket通讯的步骤?

服务器程序创建一个ServerSocket,然后再用accept方法等待客户来连接
客户端程序创建一个Socket并请求与服务器建立连接
服务器接收客户的连接请求,并创建一个新的Socket与该客户建立专线连接
刚才建立了连接的两个Socket在一个线程上对话
服务器开始等待新的连接请求

说出Servlet的生命周期,并说出Servlet和GCI的区别?

Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service方法,service方法会调用与请求对应的doGet或doPost等方法;当服务器关闭或项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy方法。Servlet与GCI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而GCI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。

JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达.JSP会被服务器处理成一个类似于Servlet的java程序,可以简化页面内容的生成,Servlet和JSP最主要的区别在于,Servlet的应用逻辑是在java文件中,并且完全从表示层中的HTML分离开来,而JSP的情况是java和HTML可以组合成一个扩展名为.jsp的文件,JSP侧重于视图,Servlet更侧重于控制逻辑,在MVC架构模型中,JSP适合充当视图(View)而Servlet适合充当控制器(Controller)

负载均衡

由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的低位,都可以单独对外提供服务而无须其他服务器的辅助,通过某种负载分担技术,将外部发送过来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求
均衡负载能够平均分配客户请求到服务器阵列,提供快速获取重要数据,解决大量并发访问服务问题,这种集群技术可以用最少的投资获得接近于大型主机的性能
在这里插入图片描述

PrepareStatement与Statement区别

PrepareStatement预编译过后就可以在缓存中,下次执行时就不需要重新编译,而Statement
每次都要重新编译。
PrepareStatement代码可读性更强,虽然多了几行代码,但是一目了然,比Statement的语句强了太多。
PrepareStatement更加安全,避免SQL注入,or ‘1’=‘1’
PreparedStatement 相 对 Statement有以下 优 点:
1.防注入攻击
2.多次运行速度快
3.防止数据库缓冲区溢出
4.代 码 的可读性可维护性好

常见状态代码、状态描述、说明:

200 OK 客户端请求成功
400 客户端请求有语法错误,不能被服务器所理解
401 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 服务器收到请求,但是拒绝提供服务
404 请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误
503 服务器当前不能处理客户端的请求,一段时间后可能恢复正常

Request

request对象代表请求对象,客户端的请求信息被Web容器封装到该对象中。
request对象可以通过getParameter();来获取表单数据

中文乱码问题解决
解决GET乱码:
String str=new String(request.getParameter(“变量名”).getBytes(“ISO8859-1”),“UTF-8”);
解决POST乱码:
使用request.setCharacterEncoding(“UTF-8”);

response

response对象代表服务器发送到客户端的响应,主要功能是服务器端向客户端发送信息,
例如设置HTTP的头信息、设置Cookie信息、重定向。

实现定时刷新
response.setHeader(“Refresh”, “1”);

设置跳转的路径。
response.sendredirect(url);

设置cookie
Cookie cookie = new Cookie(“name”, “tianxin”); // 创建cookie对象
cookie.setMaxAge(606024); // 保存一天,单位秒

// 注意是通过response对象的addCookie方法设置cookie
response.addCookie(cookie);

猜你喜欢

转载自blog.csdn.net/qq_42306104/article/details/85686813
今日推荐