介绍 — 【Java Web】

一、常见概念掌握

《JavaWeb是什么?》

  • 使用Java语言开发基于互联网的项目

《软件架构是什么?》

C/S

Client/Server客户端/服务器端

概念:在用户本地有一个客户端程序,在远程有一个服务器端程序
------------如:QQ,迅雷…

优点:用户体验好

缺点:开发、安装,部署,维护 麻烦


B/S

Browser / Server (浏览器/服务器端)

概念:只需要一个浏览器(客户端),用户通过不同的网址(URL),客户访问不同的服务器端程序。

优点: 开发、安装,部署,维护 简单。

缺点:如果应用过大,用户的体验可能会受到影响。
_____ 对硬件要求过高。


B/S架构详解

资源分类

【1】静态资源

概念:使用静态网页开发技术发布的资源。

特点

  • 所有用户访问,得到的结果是一样的。
  • 如:文本,图片,音频、视频, HTML,CSS,JavaScript
  • 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源。

【2】动态资源

概念:使用动态网页及时发布的资源。

特点

  • 所有用户访问,得到的结果可能不一样。
  • 如:jsp/servlet, php, asp...
  • 如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器

二、知识储备


【1】前端知识

做一个 Java Web 项目,你不需要花太多时间在写前端页面上,如果有源代码可以直接使用,当然,对于一些需要修改的前端页面,你得怎么去做修改它,因为有时候你需要使用 JSP,JSP 既包括前端代码也包括 Java 代码,如果你完全看不懂前端代码的话,那就很尴尬了。


【2】JavaWeb常用技术

Java Web的技术栈其实比较庞大,不要求面面俱到,只是希望你能够熟悉一下项目中可能用到的技术。

① JSP和Servlet

前言: 它们是 Java Web 开发最原始的形态,现在很少直接使用了,但是后来的各种框架其实也是建立在servlet之上来做的。也是Java后端开发必须非常精通的部分。

  • servlet 用着多少不那么方便,你哪种情况下想让用户看哪个页面,都是写在java类里面的,所谓的v(你想让用户看到的具体页面)和c(你的程序运行的逻辑)耦合。所以就有了 struts 这种东西

要求: 需要了解这两个技术分别是用来干什么的。对于JSP,有时候你可能还要学习jstl等标签语言,因为这些标签可以让你更方便地往JSP中插入Java代码。


② Spring 和 SpringMVC

recommendate《Spring实战》

前言Struts2 早已被时代抛弃,Spring则是当今的霸主

要求Spring 如何使用,以及 SpringMVC 如何使用,并且学会在项目中使用它。Spring最大的特色就是 IOC 和 AOP,IOC 整体来说要难很多,AOP 组件的初始化和装载也依赖于它。

但是了解 AOP 本身,你只需要懂得动态代理和责任链模式即可。而现在热门的SpringBoot也只不过是通过注解消除Spring的xml,加点启动器。

SpringBoot最近很火,并且搭建方式比 SpringMVC 更简单,你也可以先学习 SpringBoot,以便更快速地搭建起你的第一个 Java Web 项目。


③ Hibernate 和 Mybatis

  • 前言:当你学会了使用sql去查询数据,可能还不足以让你在项目中很方便地处理数据,因为我们还需要一个步骤,就是把数据库的数据转化成Java里的对象。orm框架就是为了解决这一问题而出现的,它可以让一张表和Java类一一对应,让数据查询变得非常方便。HibernateMybatis都是orm框架,只不过现在mybatis越来越火了。
  • 要求:你需要了解这一技术,因为它会广泛地运用到大部分Java Web项目中

④ Maven

《Maven实战》

前言:前面提到的Springorm框架,以及MySQL等方面的技术。实际上,一个简单的Java Web项目也只需要这些东西了。

问题:一个项目里用到这么多技术,所需要的jar包也会很多,我们如何管理这些jar包呢。如果直接导入所需jar包,那当jar包更新或者需要替换时,每次都要手动操作,非常麻烦。另外,当 jar 包很多时,项目打包后的 war 格式文件也会很大,不利于传输。

  • 为了解决上述问题,maven 应运而生了。maven 通过pom.xml文件来指定所需的 jar 包,并且自带了很多构建相关的功能,比如编译,打包,运行单元测试等等,因为它本身就是一个构建工具
  • 要求:需要学会maven的基本用法,最基本的用法就是:学会修改pom.xml文件
  • 附:ORM(Object Relational Mapping)框架
    • 也可以点这里
    • 目前主要有 Hibernate(Nhibernate),iBATIS,Mybatis,EclipseLink,JFinal

⑤ Tomcat

  • 前言Tomcat 相关的技术是非常复杂的,毕竟它是一个应用服务器。它在项目中的作用就是提供一个运行环境而已。
  • 要求:要下载解压 Tomcat 的压缩包即可。由于现在的 IDE 都支持集成 Tomcat,所以一般情况下你都可以在IDE中配置好你的 Tomcat 路径,然后设置好你的项目路径,IDE会自动把你的工程代码部署到 Tomcat 服务器上。
    • 如果你使用想跳过 IDE 直接部署工程到 Tomcat 上,也可以直接编译工程并且打包得到 war 格式的文件(这个步骤可以使用 maven 来完成),然后拷贝 war 文件到 Tomcat 下的特定目录即可。

⑥ Git 和 GitHub

前言:既然要做项目,为什么不把它发布在 GitHub 上?当你熟悉了 Git 指令之后,你可以很方便地发布你项目中的每一次更新,并且同步到 GitHub 上,这样既可以让你更好地管理项目版本,又可以让你 GitHub 更加活跃,为你未来的面试加分。


⑦ 其他常用组件

【1】日志系统

当项目代码比较多的时候,容易发生错误,日志可以很好地记录代码运行时的错误,常用的日志系统有log4j,logging等等,另外你还需要了解一下slf4j。

【2】单元测试

日志系统可以记录代码问题,单元测试则是为了避免代码出错,常用的单元测试组件主要是JUnit,建议你找个文档看一看,然后下载下来玩一下。

【3】JSON
  • JSON 逐渐成为前后端数据交互的标准格式,为了在项目中使用 JSON 的 API,你也需要导入它的 jar 包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值