JavaWeb开发使用jsp还是html做前端页面
一、概述
刚开始学习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做前端页面的更多相关文章
- 带你玩转JavaWeb开发之四 -如何用JS做登录注册页面校验
今日内容 使用JQuery完成页面定时弹出广告 使用JQuery完成表格的隔行换色 使用JQuery完成复选框的全选效果 使用JQuery完成省市联动效果 使用JQuery完成下列列表左右选择 使用J ...
- 绝对精品推荐做前端的看下:Web前端开发体会十日谈
20151208感悟: 前端人的角度来看的话,感觉像是阅读一个大牛前端的全部武功的一个秘籍说明,里面的思想高价值蛋白真是太多太多,推荐看. Web前端开发体会十日谈 一直想写这篇“十日谈”,聊聊我对W ...
- 从cocos2d-html5中提取出来的,用做前端开发的框架——cc.js
从cocos2d-html5中提取出来的,用做前端开发的框架——cc.js /************************************************************* ...
- 【详细】总结JavaWeb开发中SSH框架开发问题(用心总结,不容错过)
在做JavaWeb的SSH框架开发的时候,遇到过很多的细节问题,这里大概记录下 我使用的IDE是Eclipse(老版本)三大框架:Spring4.Struts2.Hibernate5 1.web.xm ...
- JavaWeb---总结(一)JavaWeb开发入门
一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...
- JavaWeb学习总结(一)——JavaWeb开发入门
http://www.cnblogs.com/xdp-gacl/p/3729033.html 只为成功找方法,不为失败找借口! JavaWeb学习总结(一)--JavaWeb开发入门 一.基本概念 1 ...
- JavaWeb学习总结(一)——JavaWeb开发入门(转载)
转载自http://www.cnblogs.com/xdp-gacl/p/3729033.html感谢孤傲苍狼的分享. 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意 ...
- 李兴华JavaWeb开发笔记
李兴华JavaWeb开发笔记 1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Fi ...
- Javaweb开发中URL路径的使用
看到博客园孤傲苍狼的web系列文章中有关于URL路径的使用文章后,感觉自己对URL的使用清楚了很多,自己再对着动手写一遍以加深记忆. JavaWeb开发中常看到URL以"/"开头, ...
随机推荐
- 星空灯改装成USB供电
简单的手工活,20分钟搞定 1.用一根USB线剪断,将红黑两根线分别连接到星空灯电源供电的正负极 2.由于USB输出5V 0.5A的电流,因此需要改装下,办法一,加电阻,办法二,换灯泡,由于小电阻并不 ...
- Linux常用命令(一)————查找和替换
1. 查找一个字符串 一个字符串是一行上的一个或几个字符. 为查找一个字符串,在vi命令模式下键入“/”,后面跟要查找的字符串,再按回车.vi将光标定位在该串下一次出现的地方上.键入n跳到该串的 ...
- Linux下的Mysql的双向同步
在主从复制的基础上实现双向同步 [更多参考] https://www.cnblogs.com/shuidao/p/3551238.html http://blog.csdn.net/i_bruce/a ...
- C#网络编程(一)基础篇
简介: C#网络编程API包含在System.Net和System.Net.Sockets命名空间下,大部分网络操作都可以在其中找到相应的类来实现:包括Socket的创建和连接,网络流收发方法的封装, ...
- LAMP配置NFS页面共享,autofs实现挂载,DNS实现名称解析,纯手动操作
0.实验架构: 共6台服务器 分工如下: 服务器 职责 IP地址 Centos版本 描述 A DNS 172.18.7.70 7 B Apache 172.18.7.71 7 httpd+php-fp ...
- August 28th 2017 Week 35th Monday
The truth may hurt for a little while but a lie hurts forever. 真相会让我们痛一阵,但谎言会让我们痛一生. Once you make a ...
- Alpha 冲刺报告(1/10)
Alpha 冲刺报告 队名:洛基小队 峻雄(组长) 已完成:α版要完成的第一部分的游戏内容规划 明日计划:学习脚本教程,熟悉一下相关API 剩余任务:物品背包交互脚本 困难:对于JS脚本的不熟悉:如何 ...
- 把bootstrap4 dropdown 的导航下拉菜单触发方式改为鼠标浮动触发
方法1: 原文: https://zzll.org/article/bootstrap4-xialacaidan 很简单,css中加入如下代码 .dropdown:hover>.dropdown ...
- java继承-final关键词用法
final关键字特点: 1.可以用来修饰变量.方法.类. 2.修饰的变量是一个常量.一旦被赋值就不能被修改(常量一般都和static关键字配合使用) 3.修饰类代表此类不能被继承4.修饰方法代表次方法 ...
- 学习python第一天总纲
1).python基础语法:4周课程(结束阶段考试) 2).前端知识点:html.css.javascript(js).jQuery 3).Linux(系统).数据库(关系型&非关系型) 4) ...