j2ee知识点

Servlet:主要用于接受浏览器的请求,然后在服务器上处理相应的业务,生成相应的页面,返回给浏览器。注意:Servlet本身并不能直接运行,需借助tomcat容器运行

缺点:对于页面的处理还是比较低效的,输出HTML标签只能一行一行输出。

jsp 目的:解耦HTML标签

缺点:java代码和HTML标签糅合在一起,维护起来十分不方便。

jsp + javabean :

目的:解耦数据层

缺点:jsp高度耦合,分别做了控制层和显示层的事

Servlet + jsp +javabean

EJB:Enterprise Java Bean:早期J2EE平台推出的EJB规范是为了简化分布式应用的开发,在当时特地的历史条件下,基与EJB架构的企业级应用的确有期先进性.

从两个方面看待EJB被“革命”的原因:

1.分布式架构更适用于大型的企业级应用,这些应用往往对安全性、可拓展性的要求更高,对于这类大型企业级应用来说,为了获得更重要的功能特性,分布式架构在性能发面的缺陷是可以容忍的,但对于中小型企业来说,分布式架构在性能方面的损失是不可接受的,分布式架构的引入反而增加开发和维护的难度

项目架构演变:

单体架构

前后端分离(渲染模版用html)

集群(分布式),通过增加多台服务器的方式,缓解高并发问题

负载均衡:有一台核心服务器负责中转,避免某一台服务器被压死

Servlet简介:
官方解释:Server applet 运行于服务端的小程序。
JavaEE规范之一(十三种规范)


服务器端存在静态资源和动态资源(不同用户显示不一样),需要进行逻辑处理,java代码进行实现,运行于服务器端的代码,这个代码需要一定的规范【接口】(没有main方法),由tomcat调用service方法,并维护它的生命周期

抽象类存在的唯一作用就是被继承

通常会继承HttpServlet这个抽象类(封装了相应的http协议)【doGet doPost方法】

浏览器栏中,输入的是servlet的mapping映射,请求会到servlet中去,jsp路径,会跳转到相应页面

Servlet接口位于最顶端,GenericServlet实现了Servlet,HttpServlet继承了GenericServlet

浏览器中访问Servlet映射时,会去调用service()方法,并且会在适当的时候调用doGet()

jsp页面中iselignore,作用:开启jsp对el表达式的支持,不同的tomcat版本对el表达式的开启状态不同。

try(),注意此处是小括号而不是大括号,可以进行自动资源释放(8中支持),前提是需要实现相关接口

JavaWeb中的四大域对象:

1.Page: 当前页面有效

2.request:当前请求有效

3.session: 当前会话有效

4.application(ServletContext): 当前应用有效
el表达式在找数据时,会依此从以上域中找

jsp目的:解耦html标签,但使html和大量的java代码糅合在一起,造成维护不便,解决措施,尽量在里面少写Java代码,通过el表达式替换获取数据的Java代码,jstl便签替换循环遍历的java代码

其次,调试时很不方便,需要找到其生成的.java文件

el表达式:expression language 
${}:获取域中存储的数据

数据库的连接 与PreparedStatement 和 ResultSet这些是需要close的,放在try()中的会自动关闭,前提是实现要求的接口

request.getParameter() 参数获取的是表单的name值

ServletRequest对象很少使用,通常将其强制转换为HttpServletRequest

jsp九大内置对象:

1.request
2.response
3.session
4.application
5.out
6.page:指向当前页面
7.pageContext获取其内置对象
8.config:获取服务器的配置信息
9.exception


request对象作用:
概述:Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后服务器通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。
1.获取请求方式
2.获取虚拟目录【先通过request对象获取ServletContext对象。两种方法都是可以的,这是Servlet3.0之前的写法】,request.getContextPath,就可以获取虚拟路径
3.获取get方式请求参数
4.获取请求的url
5.请求转发
6.getRealPath
7、可以解决post请求的中文乱码问题,post请求的jsp页面也需要设置编码格式
8.session对象的获取

服务端信息:

session对象和虚拟路径

response对象作用:
Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应,可以将new生成的Cookie对象添加到客户端

Cookie与Session:

Http是无状态的,意味着每次请求之间都是无状态的
解决:Cookie和Seessio

转发和重定向:

请求转发是一次请求,只能访问服务器内部资源
重定向是两次请求,可以访问服务器外部资源,当需要当前页面进行重新刷新显示时,会用到重定向

JQuery:作用:
1.html元素选取
2.html元素操作
语法$()


$(this)返回一个JQuery对象,可以调用对个Jquery方法
this:JavaScript关键词中的一个,表示上下文的当前DOM元素

Jquery中的方法执行错误时,不会提示异常,而是从该方法往下的代码都不再执行

已在当前页,需要重新刷新该页面时,使用重定向

el表达式和获取JavaBean的属性,只需要通过符号操作就可以了

${hero.name} 会自动调用getName方法
如果属性时bolean类型,会自动调用isxxx方法
比如${hero.hasPrevous}即便在JavaBean中没有相关属性,也会用isHasPrevous方法 【注意此处的大小写】已验证

文件上传注意类型:1.method改为post 2.使用多功能表单传输二进制文件[此时非file类型的数据就不能通过reuquest对象获取]r , input的类型改为file

filter对象,会在项目启动时,就进行初始化工作

Cookie和Sesison区别:

Session存储的数据类型更广,更强大
Cookie保存在客户端,Session保存在服务器端
Session的安全性更高(存储在服务端更加安全)
Cookie只能保存字符串,Session可以保存所有数据类型
Seesion适合用来缓存一些共享数据如:购物车
性能角度:Sesiion对服务器的压力大一些

url和uri区别:
URI = Uniform Resource Identifier 统一资源标志符
URL = Uniform Resource Locator 统一资源定位符
简单来说,就是URI是抽象的定义,不管用什么方法表示,只要能定位一个资源,就叫URI。
URL是浏览器中输入的地址,标志着资源的唯一地址

maven scope作用域相关:
Maven的一个哲学是约定大于配置,scope的作用是控制jar包在哪些范围被加载和利用compile:使用于所有阶段
provided:用于编译和测试阶段,不会将项目打包于war包或者jar包tomcat服务器内置了servlet和jsp的依赖,为避免冲突,通常在该设置中进行相关设置

compile: 依赖在所有阶段都适用

test:依赖仅存在于测试环境

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值