javaweb模板_老司机教你完成一个Java Web项目要用到哪些专业技能

在一个经典的Java Web的开发模式中,我们使用Jsp技术来作为展现层的实现,也就是所谓的前端。Web开发中经典的MVC模式,Model-View-Controller。

最近做了几个Java Web项目,写篇文章总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java Web项目的同学一个比较完整的视角。

首先我们从网站的架构谈起,一般来说,我们将网站分为前端和后端。前端主要负责页面的展示,后端则是业务逻辑的实现。由于html5的兴起,前端领域已经越来越火热,前端技术发展极快,今天我们不做过多介绍,因为现在的互联网公司,前端工程师和Java工程师是完全不同的两种技术岗位。所以我们还是以Java的角度去看待一个项目。

在前端没有那么火的前几年,或者说在经典的Java Web的开发模式中,我们使用Jsp技术来作为展现层的实现,其实也就是所谓的前端。当然只懂得Jsp是不够的还需要懂html,css,js,ajax等一些前端的基础技术,Jsp技术在其中扮演外层包装的角色。那么后端呢?后端是由于一些实现了业务逻辑Java代码和数据库组成。

说到这,就可以推出Web开发中经典的MVC模式,Model-View-Controller。View,,就是指表现层,Model,是用来承载数据的抽象结构,而Controller则是View和Model的桥梁。View存在与前端代码中,Controller,Model存在与后端代码中。

在后端代码中,为了保证代码的整洁,易读性,一般会采用分层的办法,自顶向下分为controller层,service层,dao层,数据层或者叫持久层(直接与数据库打交道)。有时候,为了达到解耦的目的,会在上述基层中间加入响应的接口层,以使得接口与实现分离。

在更加大型的网站中,会出现更加复杂的架构,比如dao层与数据层之间要有缓存层,或者访问压力增大后,需要使用集群,负载均衡等高级技术,但在这里,我们就不深入讨论复杂架构了。

以上我们看到,一个Web 项目前端需要表现层,后端有controller层,service层,dao层,持久层。在表现层,除了刚才提到的html,css,js,ajax,jsp等基础知识,在实际开发中,我们还会用到许多框架技术,比如tiles,velocity,freemarker等模板技术来简化表现层的开发。

在持久层,除了jdbc外,还有Mybatis,Hibernate等框架来提高开发效率。在Java Web中最耀眼的当属Spring了,Spring作为一个贯穿整个项目的框架,为项目开发带来依赖注入,面向切面编程的功能。除了这些,我们还需要熟练掌握一种关系型数据库的使用,如MySQL,Oracle等,当然更好地话还需要掌握一种非关系型数据库,MongoDB,Redis。

掌握了以上知识点,那么你就可以开始写Java Web项目了。但是只会写而不会部署,我们的项目仍然不能拿出来用。我们需要找一个容器来运行我们的代码。这里的容器是当然不是指Java里的数据类型,而是指应用服务器,此处要特别区分应用服务器与Web服务器,至于Web服务器是什么,稍后会介绍。(如果有同学不是很清楚服务器的概念,可以先看下一段,再回来看)

目前,市面主要流行的应用服务器有Tomcat,Jetty,JBoss等。很多人会问我们为什么需要应用服务器?顾名思义,应用服务器就是用来运行我们的应用代码的。这里需要特别提到的是,Java Web用到了像Jsp,servlet这样的动态web技术,而这些技术的代码是必须运行中应用服务器中的。

所以当我们写好应用代码后,需要把自己的应用部署到应用服务器上。应用部署好后,那么用户们该怎么访问呢?直接访问应用服务器吗?这个时候就需要web服务器出场了。

在互联网上,最强大的应用层协议当属http协议了,人们访问网站就是通过http协议来进行访问的,而Web服务器就是支持http协议的服务器,所以就叫http服务器。Web服务器接收http请求,然后再将请求转交给应用服务器。有人会问用户直接访问应用服务器不好吗?为什么要给web服务器,然后再到应用服务器?

从功能实现上来说,是可以的。许多应用服务器,比如Tomcat是具有web服务器的功能,所以直接访问也可以。但是由于在实际的生产环境中,由于负载均衡,cdn加速等原因,我们还是需要在应用服务器的前端再加一个web服务器来提高访问效率,常用的有Nginx,Apache这样的服务器。

老是在讲这个服务器,其实服务器这个概念呢,我们应该在真正接触计算机专业领域之前早就听说过,比如以前打游戏觉得卡的时候大家都时不时会用到服务器这个词汇。但是我真正理解并研究服务器是在学习tomcat, jetty之后才开始的。

服务器到底什么呢?

服务器其实很简单,就是一台电脑,那它和我们日常用的电脑有什么区别?

第一,它一般没有显示器,它只有主机。

第二,它的操作系统不同于我们常用的windows , Mac OS。更多的是*nix系统。

第三,它运行了一些服务器端软件。

比如说,我们上文提到的Tomcat , Jetty , Nginx,Apache,其实这些都是服务器软件,只是主机运行了这些软件,所以有时候大家就混淆了叫法。所以所谓的数据库服务器,大家也知道了,其实就是运行了数据库的主机。说到服务器,我们所需要掌握的重点知识就是服务器操作系统,也就是*nix系统,比如CentOS , Ubuntu等。

说到这里,其实一个简单的完整的Java Web项目就差不多了。我们简单回顾一下

首先,我们需要利用各种框架和开发技术写出应用代码。

接下来,我们需要一个台安装了*nix系统的主机,在上面安装好Web服务器软件,应用服务器软件,再把我们的应用代码部署到应用服务器上。

现在我们只需要获取到主机的IP地址,就能够远程访问应用了。

知识点列表:

开发:

1、视图层技术——HTML,CSS,JS,AJAX,Tiles,Velocity,FreeMarker

2、持久层技术——MyBatis,Hibernate

3、Spring , Spring MVC

4、项目构建工具Maven

5、日志Log4j

6、版本控制 Git

数据库技术:

1、SQL语句

2、参数调优

操作系统:

1、熟练掌握一种Linux系统,原理,Shell命令

服务器技术:

1、熟练使用并理解一个应用服务器技术的原理(Tomcat)

2、熟练使用并理解一个Web服务器技术的原理(Nginx)

附加:

缓存技术:

1、熟练使用并理解一种缓存技术(Redis,Memcache,EhCache)

非关系型数据库

1、熟练使用并理解一种非关系型数据库(MongoDB)

中间件技术:

1、JMS:activeMQ和kafka

2、RPC: Dubbo

设计模式:

1、了解并能够使用几种最主要的设计模式

网络:

1、熟练使用理解一个网络开发技术(Netty)

2、熟悉http,TCP协议

Java虚拟机:

1、熟悉jvm运行原理,内存分布

2、jvm参数调优

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统包含项目的源码和搭建的详细文档,以及数据库脚本 系统功能模块(开发时可取舍) 1. 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。 按钮权限: 给角色分配按钮权限。 2. 按钮管理:自定义按钮管理,维护按钮权限标识等 3. 菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和系统菜单分离,菜单状态显示隐藏(递归处理) 4. 数据字典:无限级别,支持多级别无限分类。内设编号,排序等 5. 组织机构:无限级别,公司or部门管理 6. 在线管理:websocket技术,实时检测在线用户列表,统计在线人数,可强制用户下线 同一用户只能在一个客户端登录 7. 系统用户:对各个基本的用户增删改查,单发、群发站内信邮件短信,导入导出excel表格,批量删除 8. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 9. 代码生成:生成完整的模块代码,并保留生成记录模版,可复用 (超强悍开发利器) 正向生成: 生成完整的模块,页面、处理类、service层、myabaits的xml 建表的sql脚本等 反向生成: 任意连接其它数据库(mysql、oracle、sqlserver),根据表反射生成本系统的模块 10. 性能监控:监控整个系统的性能,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等 11. 接口测试:POST or GET 方式检测系统接口,参数加密,json返回结果,计算服务器响应时间 12. 发送邮件:单发,群发邮件 13. 置二维码:生成二维码图表保存到服务器 or 解析读取二维码内信息 14. 图表报表:柱状图、饼状图、折线图、各种图表大全 15. 地图工具:打开地图, 鼠标点击地图某位置获取经纬度坐标,根据经纬度计算两点距离 16. 打印测试:页面打印预览测试 17. 图片管理:对批量上传的图片统一管理 ,点击放大,可打开多个,自由切换,绚丽预览效果 18. 图片爬虫:输入某网址,爬出其图片显示在页面上,可以放大预览。可保存到服务器上,到图片管理里面 19. 站内信:收信箱和发信箱, websocket技术通讯技术做的及时收信提醒,可配置语音提示来信 20. 系统设置:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置 21. 及时聊天:打开聊天窗口,可群聊、一对一聊天 22. 表单构建:拖拽式快速自定义构建表单,组建元素丰富,有富文本、上传控件、下拉框等等 23. 主附结构:提供一个主表和明细表模块的例子(用本代码生成器生成的) 24. 员工管理:和组织机构部门管理,可以绑定登录系统用户,授权数据权限 -------------------------------------------------------------------------------------------------------------------------数据库管理 25. 数据库备份:可备份单表、整库,支持本地和远程数据库备份(java界面编程技术,socket编程技术) 26. 备份定时器:quartz 2.2 强大的任务调度,多线程备份数据库,任务启动关闭异步操作 27. 数据库还原:历史备份记录,还原数据库 or 单表 ,统计备份时间和文件大小 28. SQL编辑器:强大的SQL编辑器,支持编辑语句复杂查询语句,生成动态报表,可导出excel ------------------------------------------------------------------------------------------------------------------------- 菜单权限:分配给每个角色不同的菜单权限, 每个角色看到的菜单不同,无限级别菜单 按钮权限:独立分配不同的角色不同的功能权限,增删改查权限分配具体到不同的菜单,自定义按钮管理 支持多用户分权限管理后台, 权限具体到不同的菜单不同的按钮
### 回答1: 一个 JavaWeb 项目常用的技术包括: 1. Java Servlet 和 JSP 技术: Java Servlet 和 JSP 是构建 JavaWeb 应用程序的核心技术。 2. 数据库技术: JavaWeb 应用程序需要与数据库进行交互,常用的数据库技术包括 JDBC 和 ORM 框架(如 MyBatis 和 Hibernate)。 3. 前端技术: 前端技术主要包括 HTML、CSS、JavaScript、jQuery 等。 4. Web 服务器: 常用的 Web 服务器包括 Tomcat、Jetty 等。 5. 框架和工具: 常用的 JavaWeb 框架和工具包括 Spring、SpringMVC、Struts2 等,以及 Maven、Gradle 等构建工具。 6. 安全技术: 安全技术包括 HTTPS、SSL、加密、认证、授权等。 ### 回答2: 一个Java Web项目主要用到的技术可以分为几个方面。 首先,Java Web项目主要使用Java编程语言作为开发语言。Java具有跨平台、面向对象、易于调试和维护等优势,非常适合用于构建Web应用程序。 其次,Java Web项目通常使用Java Servlet技术。Java Servlet是一种能够接收和响应HTTP请求的小程序,它可以与Web服务器进行交互,处理用户请求,生成动态网页内容。通过Servlet技术,可以实现用户登录、数据查询、表单提交等功能。 另外,Java Web项目还会用到JavaServer Pages(JSP)技术。JSP是一种在HTML(后缀名为.jsp)文件中嵌入Java代码的技术,它可以动态地生成HTML页面。在JSP中,可以使用Java代码、标签库和EL表达式等技术,非常便于与数据库进行交互和处理动态内容。 此外,Java Web项目还需要使用Web容器来运行。常用的Web容器有Apache Tomcat、JBoss等。Web容器可以解析和执行Servlet和JSP,同时提供了许多支持Web开发的功能,如连接池、线程池、安全管理等。 另外,Java Web项目还经常用到数据库技术,如MySQL、Oracle等。通过数据库技术,可以存储和管理项目中的数据。 除了以上主要技术,Java Web项目还可能使用一些框架和工具,如Spring、Hibernate、Struts等。这些框架和工具提供了一些常用的功能和开发方法,可以加快开发速度和提高项目的可维护性。 总结起来,一个Java Web项目主要用到的技术包括Java编程语言、Java Servlet、JSP、Web容器、数据库技术以及一些框架和工具。这些技术的综合应用,可以实现一个完整的Web应用程序。 ### 回答3: 一个JavaWeb项目主要用到的技术包括以下几个方面。 首先,JavaWeb项目需要使用Java编程语言进行开发,因此需要具备Java的基础知识和面向对象编程的能力。 其次,JavaWeb项目需要使用Servlet技术来处理HTTP请求和响应,并进行业务处理。Servlet是运行在服务器端的Java程序,能够与客户端进行通信,生成动态的网页内容。 另外,JavaWeb项目中常常使用JSP(Java Server Pages)技术来实现前端的动态页面和用户界面。JSP是一种与HTML紧密结合的页面模板技术,能够嵌入Java代码,便于生成动态的网页内容。 此外,JavaWeb项目中还需要使用数据库来存储和管理数据。常用的数据库技术包括关系型数据库如MySQL和Oracle,以及非关系型数据库如MongoDB和Redis。开发者需要掌握使用Java的数据库访问技术(如JDBC或ORM框架)来操作数据库。 另外,JavaWeb项目通常涉及到与前端进行异步通信,如通过AJAX来实现局部刷新。开发者需要熟悉JavaScript、jQuery等前端开发技术,以及掌握使用Java来编写接口供前端调用的能力。 最后,JavaWeb项目还需要搭建服务器环境来部署和运行。常用的服务器技术包括Tomcat、WebLogic和WebSphere等。开发者需要了解如何配置和管理服务器,以及如何发布和调试项目。 综上所述,一个JavaWeb项目主要用到的技术包括Java编程语言、Servlet、JSP、数据库技术、前端开发技术和服务器技术等。开发者需要掌握这些技术才能够开发出稳定、高效的JavaWeb应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值