一、概述

刚开始学习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. react入门参考资料

    ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出 ...

  2. HTML 的 style 属性

    style 属性用于改变 HTML 元素的样式. This text is in Verdana and red This text is in Times and blue This text is ...

  3. Docker解决没有vi、vim等命令

    1.apt update 同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,获取到最新的软件包. 2.apt install vi ...

  4. haproxy开启日志功能

    haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件.下面以centos6.4为例,haproxy使用系统自带的rpm报 ...

  5. 如何解决ORA-12547错误!

    最近在布置一个应用程序连接oracle后台数据库,数据库为oracle11g(11.2.0.2).应用程序属于root用户,所以需要以root用户通过系统认证的方式连接数据库.设置了root用户的环境 ...

  6. iOS真机命令(自动化测试)

    获取设备的的UDID idevice_id --list # 显示当前所连接设备的 udid instruments -s devices # 列出所有设备,包括真机.模拟器.mac idevicei ...

  7. TTransport 概述

    TTransport TTransport主要作用是定义了IO读写操作以及本地缓存的操作,下面来看TIOStreamTransport是如何实现的. public abstract class TTr ...

  8. 【[HEOI2016/TJOI2016]序列】

    压行真漂亮 首先这肯定是一个\(dp\)了 设\(dp_i\)表示\(i\)结尾的最长不下降子序列的长度 显然我们要找一个\(j\)来转移 也就是\(dp_i=max(dp_j+1)\) 那么什么样的 ...

  9. 【ES6】最常用的es6特性(二)

    1.for of 值遍历 for in 循环用于遍历数组,类数组或对象,ES6中新引入的for of循环功能相似,不同的是每次循环它提供的不是序号而是值. var someArray = [ &quo ...

  10. $_cookie的使用

    设置并发送 cookie: <?php $value = "my cookie value"; // 发送一个简单的 cookie setcookie("TestC ...