入职未转正菜鸡的Java web基础

Java web基础

Java web是利用JE22部分或全部技术组件,实现多层次分布式应用

j2EE与服务器

J2EE是一套企业及分布式应用标准规范,而不是产品

  • WEB服务器:只能支持web基础服务技术组件(servlet,filter,jsp)运行,不支持EJB。——Tomcat、jetty
  • 应用服务器:支持web基础服务技术组件运行,也支持运行EJB组件的服务器。——JBoss、WebLogic、WebSphere

Tomcat

目录描述
/bin存放在Windows平台以及Linux平台上启动和关闭Tomcat的脚本文件
/conf各种配置文件,其中开发最关心的是server.xml
/lib存放Tomcat服务器所需的各种jar文件
/temp存放Tomcat产生的临时文件
/logs存放Tomcat的日志文件
/webapps默认情况下把web应用放到此目录下
/workTomcat把由JSP产生的servlet放到此目录下

Servlet

Servlet是Java Servlet的简称,用Java编写的服务器程序,主要功能在于人机交互式地web浏览,生成动态Web内容。它运行在Web服务器中,调用Servlet方法处理客户端传过来的每一个HTTP请求。

Servlet处理HTTP请求时的过程

  1. init:初始化Servlet调用,如果web.xml中load-on-startup配置为0,则客户端第一次请求时初始化;配置为1,则客户端启动时初始化Servlet。
  2. Service:业务逻辑处理代码,客户端每次请求Servlet时都会调用该方法,根据请求参数HttpServletRequest的getMethod()返回访问类型结果判断是执行doGet()还是doPost()等。
  3. destory:当容器关闭时会先销毁所有的Servlet,容器关闭时会调用destory方法。

线程安全问题:一个Servlet在内存中只有一个实例,意味着所有请求可操作Servlet中的类的成员变量。为了避免多个线程操作Servlet中的类成员变量引起的线程安全问题,能不用类成员变量就不要用,设计为局部变量;如果必须要用,要记得加锁或者同步原语保证线程安全。

​ Servlet作用域主要用于传递数据和存储临时数据,作用域也是通过作用域对象保持数据。作用域由容器控制自动实例化。

​ response的重定向方法==sendRedirect()与request的重定向方法forward()==区别:sendRedirect()主要用于客户端的重定向,例如页面的跳转。forward()主要用于服务端的重定向,比如用户服务接口A,可以通过forward()带值定向到接口B。

Filter

Filter(过滤器)主要用于对请求(request)进行预处理,也可以对响应(response)进行后处理。一般实现身份认证,安全控制,编码转换,文字过滤,日志处理,内容加解密,统计访问量等,需要在请求或响应中额外处理的功能。

Listener

Listener(监听器)用于监听web应用中对象创建、销毁等动作的发生,然后通知相关业务逻辑做出相对于的处理。当对象的状态发生变化时,触发自动调用监听器对象中的方法。

JSP

JSP运行原理(JSP只做了解)

  1. 当服务器第一次接收到客户端对JSP的请求时,JSP引擎将对应的JSP文件转换成Servlet
  2. JSP引擎调用Java编译器对Servlet代码进行编译生成字节码文件。
  3. 服务器将字节码文件加载到内存,并跟进请求执行业务逻辑。
  4. 处理结果返回客户端,一般为HTML文件。

web.xml

启动Java WEB工程时,容器会先去加载配置文件web.xml。web.xml负责初始化配置信息,规范配置约束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值