一、概述

刚开始学习Javaweb开发的小伙伴都有一个疑惑:用jsp开发前端还是用HTML开发前端呢?

这个疑惑的来源主要是:刚接触完前端但又不深入学习js,接着学习jsp,发现老师们都一直用着jsp做页面进行教学,发现自己一直没有使用过HTML文本做页面。

  原因:不明确区分HTML和jsp,不知道静态页面和动态页面的作用

虽然jsp里面有HTML标签,但是HTML是静态页面,而jsp是动态页面

简单的说:1. HTML不能直接访问数据库的信息(静态页面都不行),它们都需要使用js来调用后台接口(比如使用AJAX实现异步请求)来实现数据访问--纯前端

     2. jsp是使用特定标签(JSTL标签)来调用Java代码来访问数据库信息(为了理解简单就这么说了)

     流程: 1. 浏览器->输入网址->服务器响应->返回XX.html

       2. 浏览器->输入网址->服务器响应->将.jsp解析成静态页面->返回XX.jsp或者/servlet配置文件的路径(没有后缀名)

二、对比静态页面和动态页面

 1. 静态页面(使用HTML):

    全异步,完全通过ajax获取数据和构建页面;

    开发和调试页面方便,不依赖后端;

    压力在客户端,可能没有jsp安全;

    接口代码需要新增较多(控制层)

 2. 动态页面(使用jsp):

    通过EL语言、JSP标记库(如JSTL标签库)等等来获取数据、构建页面以及调用方法,动态数据通过ajax获取;

    前端页面的实现和调试麻烦,依赖后端,不能独立开发;

    压力在服务器端,因为所有逻辑都在后台,相对安全,数据存放在服务器端;

综述:都可以独立作为web开发,但不推荐;而是应该根据不同的页面功能需求使用不同技术
   . 大多数查询类页面,上动态数据比较少,使用html+AJAX,前端负责js异步调用api接口,这样页面改版时,不需要再改jsp,耦合大大降低;
   . 但对于复杂的页面,动态数据很多,比如支付下单(可能当前页面需要后台很多同步的逻辑校验)的页面还是走jsp。

另外,如果一个页面在异步加载数据之前由于数据还没出来而严重影响到了体验和流程交互,则建议还是同步走jsp,选择局部使用ajax。

以上是个人在学习的路途遇到的问题和解决问题时得出来的浅显的总结,若有不对之处,还望各路大佬指出和说明!

欢迎转载:https://www.cnblogs.com/dennyLee2025/p/10465074.html

JavaWeb开发使用jsp还是html做前端页面的更多相关文章

  1. 带你玩转JavaWeb开发之四 -如何用JS做登录注册页面校验

    今日内容 使用JQuery完成页面定时弹出广告 使用JQuery完成表格的隔行换色 使用JQuery完成复选框的全选效果 使用JQuery完成省市联动效果 使用JQuery完成下列列表左右选择 使用J ...

  2. 绝对精品推荐做前端的看下:Web前端开发体会十日谈

    20151208感悟: 前端人的角度来看的话,感觉像是阅读一个大牛前端的全部武功的一个秘籍说明,里面的思想高价值蛋白真是太多太多,推荐看. Web前端开发体会十日谈 一直想写这篇“十日谈”,聊聊我对W ...

  3. 从cocos2d-html5中提取出来的,用做前端开发的框架——cc.js

    从cocos2d-html5中提取出来的,用做前端开发的框架——cc.js /************************************************************* ...

  4. 【详细】总结JavaWeb开发中SSH框架开发问题(用心总结,不容错过)

    在做JavaWeb的SSH框架开发的时候,遇到过很多的细节问题,这里大概记录下 我使用的IDE是Eclipse(老版本)三大框架:Spring4.Struts2.Hibernate5 1.web.xm ...

  5. JavaWeb---总结(一)JavaWeb开发入门

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  6. JavaWeb学习总结(一)——JavaWeb开发入门

    http://www.cnblogs.com/xdp-gacl/p/3729033.html 只为成功找方法,不为失败找借口! JavaWeb学习总结(一)--JavaWeb开发入门 一.基本概念 1 ...

  7. JavaWeb学习总结(一)——JavaWeb开发入门(转载)

    转载自http://www.cnblogs.com/xdp-gacl/p/3729033.html感谢孤傲苍狼的分享. 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意 ...

  8. 李兴华JavaWeb开发笔记

    李兴华JavaWeb开发笔记 1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Fi ...

  9. Javaweb开发中URL路径的使用

    看到博客园孤傲苍狼的web系列文章中有关于URL路径的使用文章后,感觉自己对URL的使用清楚了很多,自己再对着动手写一遍以加深记忆. JavaWeb开发中常看到URL以"/"开头, ...

随机推荐

  1. 将eChart图片利用POI导出到Excel

    在使用POI进行将数据导出到Excel时, 若要将eChart在前端生成的统计图(如柱状图.折线图.饼图等)一并导出,使用POI在后台构建数据图比较复杂,因此我选择将eChart在前端的统计图的bas ...

  2. 进程间通信——队列和管道(multiprocess.Queue、multiprocess.Pipe)

    进程: 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运 ...

  3. apt 安装 tomcat

    apt 安装 tomcat 直接使用 agt-get 安装 apt-get install tomcat7 # or apt-get install tomcat8 需要一段时间后就安装完成了. 安装 ...

  4. 021.11 IO流 序列流

    序列流:SequenceInputStream特点:流对象有序排列解决问题:将多个输入流合并成一个输入流,将多个源合并成一个源,对于多个源的操作会变简单. 构造函数参数就是输入流,一初始化就合并了多个 ...

  5. 秒杀场景下MySQL的低效(转)

    秒杀场景下MySQL的低效 2016-01-14 17:12 178人阅读 评论(0) 收藏 举报 最近业务试水电商,接了一个秒杀的活.之前经常看到淘宝的同行们讨论秒杀,讨论电商,这次终于轮到我们自己 ...

  6. 【转】深入浅出 iOS 之生命周期

    [iOS]深入浅出 iOS 之生命周期 深入浅出 iOS 之生命周期  http://blog.csdn.net/kesalin/article/details/6691766 罗朝辉(http:// ...

  7. 死磕salt系列-salt 故障汇总

    这里将salt使用过程中遇到的所有的故障进行一个汇总. grains 匹配后多了一个列表 salt-master中配置jinja模板来匹配自定义的grins. vim /etc/salt/minion ...

  8. BZOJ4321:queue2(DP)

    Description n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行.现在想知道,存在多少方案满足沙茶们如此不苛刻 ...

  9. 1. Docker基础命令

    本文简要介绍Docker的基础命令,目的在于快速入门Dokcer,Docker的完整命令可以参考Docker官方手册. 0. 安装Docker Docker当前分为企业版(Docker Enterpr ...

  10. verilog实现的16位CPU设计

    verilog实现的16位CPU设计 整体电路图 CPU状态图 idle代表没有工作,exec代表在工作 实验设计思路 五级流水线,增加硬件消耗换取时间的做法. 具体每一部分写什么将由代码部分指明. ...