tomcat.nginx+JDBC.Servlet

tomcat/nginx+JDBC/Servlet

1.JSP 和 servlet 有什么区别

JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。servlet 和 JSP
最主要的不同点在于,servlet 的应用逻辑是在 Java 文件中,并且完全从表示
层中的 html 里分离开来,而 JSP 的情况是 Java 和 html 可以组合成一个扩
展名为 JSP 的文件。JSP 侧重于视图,servlet 主要用于控制逻辑。

2.JSP 有哪些内置对象?作用分别是什么?

JSP 有 9 大内置对象:
 request:封装客户端的请求,其中包含来自 get 或 post 请求的参数;
 response:封装服务器对客户端的响应;
 pageContext:通过该对象可以获取其他对象;
 session:封装用户会话的对象;
 application:封装服务器运行环境的对象;
 out:输出服务器响应的输出流对象;
 config:Web 应用的配置对象;

 page:JSP 页面本身(相当于 Java 程序中的 this);
 exception:封装页面抛出异常的对象。

3.JSP 的 4 种作用域

 page:代表与一个页面相关的对象和属性。
 request:代表与客户端发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件;需要在页面显示的临时数据可以
置于此作用域。
 session:代表与某个用户与服务器建立的一次会话相关的对象和属性。跟某个用户相关的数据应该放在用户自己的 session 中。
 application:代表与整个 Web 应用程序相关的对象和属性,它实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用
域。

4.session 和 cookie 有什么区别

 存储位置不同:session 存储在服务器端;cookie 存储在浏览器端。
 安全性不同:cookie 安全性一般,在浏览器存储,可以被伪造和修改。
 容量和个数限制:cookie 有容量限制,每个站点下的 cookie 也有个数
限制。
 存储的多样性:session 可以存储在 Redis 中、数据库中、应用程序中;
而 cookie 只能存储在浏览器中。

5.session 的工作原理

session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,
session 创建完之后,会把 session 的 id 发送给客户端,客户端再存储到浏
览器中。这样客户端每次访问服务器时,都会带着 sessionid,服务器拿到
sessionid 之后,在内存找到与之对应的 session 这样就可以正常工作了。

6.tomcat工作模式

Tomcat作为servlet容器,有三种工作模式:

1、独立的servlet容器,servlet容器是web服务器的一部分;
2、进程内的servlet容器,servlet容器是作为web服务器的插件和java容器的实现,web服务器插件在内部地址空间打开一个jvm使得java容器在内部得以运行。反应速度快但伸缩性不足;
3、进程外的servlet容器,servlet容器运行于web服务器之外的地址空间,并作为web服务器的插件和java容器实现的结合。反应时间不如进程内但伸缩性和稳定性比进程内优;

7.Tomcat部署方式

1)直接把Web项目放在webapps下,Tomcat会自动将其部署

2)在server.xml文件上配置节点,设置相关的属性即可

3)通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。

8.Tomcat端口号

1)找到Tomcat目录下的conf文件夹

2)进入conf文件夹里面找到server.xml文件

3)打开server.xml文件

4)在server.xml文件里面找到下列信息

port="8080"改成你想要的端口

9. Nginx

Nginx ,是一个 Web 服务器和反向代理服务器用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。

主要功能如下:

1、正向、反向代理 2、负载均衡、分流 3、虚拟主机(绑定host)

优点:

跨平台、配置简单,非阻塞、高并发连接、内存消耗小、成本低廉。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EonhQx94-1629621870098)(image/image.png)]

正向代理 是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定原始服务器,然后代理向原始服务器转交请求并将获得的内容返回给客户端。代理服务器和客户端处于同一个局域网内。
比如说fanqiang。我知道我要访问谷歌,于是我就告诉代理服务器让它帮我转发。
反向代理 实际运行方式是代理服务器接受网络上的连接请求。它将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端 。代理服务器和原始服务器处于同一个局域网内。
比如说我要访问taobao,对我来说不知道图片、json、css 是不是同一个服务器返回回来的,但是我不关心,是反向代理 处理的,我不知道原始服务器。

10。Nginx 和 Apache、Tomcat 之间的不同点

1、Nginx/Apache 是Web Server,而Apache Tomact是一个servlet container 2、tomcat可以对jsp进行解析,nginx和apache只是web服务器,可以简单理解为只能提供html静态文件服务。

Nginx和Apache区别:

1)Nginx轻量级,同样起web 服务,比apache占用更少的内存及资源 。

2)Nginx 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 。

3)Nginx提供负载均衡,可以做做反向代理,前端服务器

4)Nginx多进程单线程,异步非阻塞;Apache多进程同步,阻塞。

11. Nginx 有哪些负载均衡策略

Nginx 默认提供的负载均衡策略:

  • 1、轮询(默认)round_robin

    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

  • 2、IP 哈希 ip_hash

    每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 共享的问题。

    当然,实际场景下,一般不考虑使用 ip_hash 解决 session 共享。

  • 3、最少连接 least_conn

    下一个请求将被分派到活动连接数量最少的服务器

  • 4、权重 weight

    weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下,达到合理的资源利用率。

还可以通过插件支持其他策略。

12.数据连接池的工作机制是什么? 有什么优点?

J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。
客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。
如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。
当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
当链接数量达到连接池最大值时候,池驱动程序将不再创建新连接,只能等等连接空闲以后重用已有的连接。
优点:连接少的时候可以复用

13.JDBC连接数据库的6个步骤

  1. 注册驱动

  2. 获取连接

  3. 创建一个Statement语句对象

  4. 执行SQL语句

  5. 处理结果集

  6. 关闭资源

14.数据库连接池工作原理和实现

工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
实现方案:返回的Connection是原始Connection的代理,代理Connection的close方法,当调用close方法时,不是真正关连接,而是把它代理的Connection对象放回到连接池中,等待下一次重复利用。

15.GET和POST方法有什么区别

  • GET是一种安全方法(幂等),其中POST是非幂等方法。

  • 我们可以使用GET方法发送有限的数据,并将其发送到标头请求URL中,而我们可以使用POST发送大量数据,因为它是正文的一部分。

  • GET方法是不安全的,因为数据在URL中公开,我们可以轻松为其添加书签并再次发送类似的请求,而POST是安全的,因为数据是在请求正文中发送的,因此我们无法对其添加书签。

  • GET是默认的HTTP方法,而我们需要将方法指定为POST才能使用POST方法发送请求。

  • 页面中的超链接使用GET方法。

get方法: 请求对服务器没有负面影响,Form数据量小,数据的内部应在url中可见; 明文传输,安全度低。

post方法:请求的数据过程改变服务器的状态,Form数据量大,数据的内部应在url中不可见,安全度高;

16.什么是Web应用程序,它的目录结构是什么

Web应用程序是在服务器上运行的模块,用于向客户端浏览器提供静态和动态内容。 Apache Web服务器支持PHP,我们可以使用PHP创建Web应用程序。 Java通过可在Servlet容器中运行并向客户端浏览器提供动态内容的Servlet和JSP提供Web应用程序支持。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IjOi6QLW-1629621870100)(image/image_1.png)]

17.什么是servlet

Java Servlet是服务器端技术,通过提供对动态响应和数据持久性的支持来扩展Web服务器的功能。

javax.servlet和javax.servlet.http包提供用于编写我们自己的servlet的接口和类。
所有servlet必须实现javax.servlet.Servlet接口,该接口定义了servlet生命周期方法。 在实现通用服务时,我们可以扩展Java Servlet API随附的GenericServlet类。 HttpServlet类提供用于处理特定于HTTP的服务的方法,例如doGet()和doPost()

19.如何开发自己的Servlet

1.引jar包

1)构建开发环境 common包–>lib包–>servlet—>api.jar

2.开发servlet类

1)首先继承HttpServlet

2)实现 doGet() doPost()

3)定义 doGet() doPost()

3.建个web应用

4.部署

安装web容器,例如Tomcat

在Tomcat的webapps目录下新建一个文件夹作为web程序的根

在根下新建一个名为WEB-INF的文件夹,里面建立一个web.xml的文件、一个classes的文件夹、一个lib文件夹按照servlet的DTD配置web.xml文件。

把编译好的servlet的class文件复制到classes目录下lib文件存放程序所需要的jar包

20.Web应用的生命周期

Web容器启动时,初始化每个Web应用

可以创建"监听器"对象触发这些事件;

Web容器关闭时,销毁每个Web应用

21.转发和重定向的区别

转发

req.getRequestDispatchre(“path”).forward(req.res)

路径不用写项目名

一次请求和相应

可携带参数传到下一个页面

地址栏中还是原来的路径

重定向

res.sendRedirect(“path”)

路径用些项目名

两次请求

不能携带参数

地址栏为重定向后的路径

增删改操作

是用于查询操作

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值