Java基础---Javaweb

1.Web应用

Web应用组成结构:

标准的Javaweb应用目录结构

WebApps           

 	|---静态资源:HTML,css,js           

	|---WEB-INF 固定写法。此目录下的文件不能被外部(浏览器)直接访问                

		 |---classes:自定义类编译后的生成的class文件(字节码文件)存放的路径                    

		 |---lib:jar包存放的目录                   

		 |---web.xml:配置文件(Servlet3.0规范后可以省略) 

网络应用程序的执行过程:

1. 客户端和Web服务器建立连接。
2. 客户端发送HTTP请求。
3. 服务器端接收并处理客户端的请求,生成HTTP响应数据。
4. 客户端解析返回的数据,展示页面。

2. Javaweb

Javaweb技术组成:

  • 客户端:发送请求,解析数据的软件。如:浏览器等

  • web服务器:接收网络请求,处理请求,返回处理数据到客户端的软件。如:Tomcat等
    其中,处理请求,获得数据:Javaweb应用程序。基于java底层api:servlet、jdbc、javascript、socket

    web服务器说明:
    web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。WEB服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,Web应用的开发者只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。
    总之,web服务器的作用是:

    1. 提供WEB服务,获得客户端的请求数据,及响应数据到客户端; 
    2. 调用WEB应用:处理请求数据并返回结果
    

网络资源涉及主要技术和框架:

主要技术:
描述页面结构:html,
美化页面:CSS,
页面交互:JavaScript

其中, JavaScript页面交互时的数据请求可分为:

1. 同步请求:浏览器直接输入网址,超链接等
2. 异步请求:Ajax, axios(都是对原生XMLHttpRequest(XHR)的封装 )

常用框架及组件:
框架及组件:BootStrap,ELEMENT UI, ECharts,vue

Javaweb应用程序
主要技术:
Javaweb应用:是基于 Servlet 规范运转的,主要功能是交互式地浏览和修改数据,生成动态Web内容。

Servlet的运行过程:

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。

②装载并创建该Servlet的一个实例对象。

③调用Servlet实例对象的init()方法。

④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。

⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

常用的框架:
框架:SpringMVC

数据存储和读取

数据存储方式:

1. 数据保存在内存中:
   优点:内存速度快
   缺点:断电/程序退出,数据就清除了.内存价格贵
2. 数据保存在普通文件中;
   优点:永久保存
   缺点:查找,增加,修改,删除数据比较麻烦,效率低
3. 数据保存在数据库:
   优点:永久保存,通过SQL语句比较方便的操作数据库

小结:
数据保存在普通文件,查找,增加,修改,删除数据比较麻烦,效率低。而数据库可通过SQL语句比较方便对大量数据进行增、删、改、查操作,数据库是对大量的信息进行管理的高效的解决方案。

数据库分类:

1. 关系型数据库:
   MYSQL:C++开发的一个开源免费的数据库,小型的数据库。
   Oracle:收费的大型数据库。
   
2. 非关系型数据库:
   Redis:C语言开发的一个开源的高性能键值对(key-value)数据库。
   官方提供测试数据:50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s。
   
3. MengoDB:C++语言编写的,是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB对数据之间事务关系支持比较弱,如果业务这一方面要求比较高的话,MongoDB还是并不适合此类型的应用。

常用操作数据库框架及组件:

 关系型数据库框架:Mybatis,

 关系型数据库工具包:JdbcTemplate,DBUtils,

 redis数据库工具包:Jedis

总结:
javaweb就是基于java servlet的程序+web服务器(servlet容器)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值