谈Servlet与JSP

文章目录

  • 前言
  • 正文
    • 1、什么是JSP?
    • 2、什么是Servlet?
    • 3、JSP与Servlet的区别和联系
    • 4、扬长弊端提出MVC

前言

提高Java Web 开发,不得不说http协议,接下来就说Servlet 和 Jsp 这两个java类。

正文

1、什么是JSP?

JSP(Java Server Pages)是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行。

2、什么是Servlet?

Servlet (Server Applet)是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
借用知乎上java老师的一句话:jsp就是在html里面写java代码,servlet就是在java里面写html代码

3、JSP与Servlet的区别和联系

  • 运行过程

    客户在第一次请求JSP时,请求较慢,因为JSP Engine先把JSP程序转换成servlet代码,接着将它编译成类文件,以后贮存在内存中再次调用速度就快了;
    访问servlet时,可以直接对其编译好的类文件执行。

  • 使用方式

    要想使用servlet必须把它放在特定位置而且必须对其映射配置;
    jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。

  • 程序组成

    Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容;
    JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容

  • 职能分工

    jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。

  • 本是一家人
    Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。

4、扬长弊端提出MVC

JSP 在Html 中加入了大量的、复杂的业务逻辑,如果后期业务逻辑发生改变,修改jsp 就会捉襟见肘;
Servlet 虽然解决了业务逻辑的问题,但是通过字符串拼接的方式生成动态的Html 页面,也会导致代码臃肿,难以维护;
MVC(Model-View-Controller)模式就扬长避短,将两者完美结合在一起,它把把软件系统分为三个层次:模型(Model)、视图(View)和控制器(Controller);

这里写图片描述

时序图说明:
这里写图片描述
1、Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)
2、Controller(Servlet)调用核心业务逻辑——Model部分,获得结果
3、Controller(Servlet)将逻辑处理结果交给View(JSP),动态生成的HTML内容并返回到浏览器显示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 记事本编译_肿么用记事本编译运行java程序代码?

确认已经正确安装JDK。(cmd->输入javac,然后回车,出现一堆东西,下面的东西)C:\Users\lenovo>javac用法: javac 其中, 可能的选项包括:-g 生成所有调试信息-g:none 不生成任何调试信息-g:{lines,vars,source} 只生成某些调试信息-nowarn…

Jsp和Servlet有什么区别?

文章目录什么是Servlet?为什么要用到Servlet?什么是JSP为什么需要JSPJSP的工作原理什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类。Servlet是由服务器调用的,运行在服务器端。 为什么要用到Servlet? …

hdfs java api 权限_HDFS Java API 详解

Hadoop版本: Hadoop 2.6.0连接HDFSString URL"hdfs://hadoop001:9000";Configuration conf new Configuration();conf.set("fs.defaultFS", URL);FileSystem fs FileSystem.get(conf);上传文件到HDFS//获取本地文件的输入流FileInputStream …

Tomcat就是这么简单

什么是Tomcat Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。 为什么我们需要用到Tomcat 如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访…

java if两个条件_java(3) if结构

一、基本if结构1、流程图1)输入输出2)判断和分支3) 流程线1.1 简单的if条件判断if(表达式){//表达式为true,执行{}中的代码}示例1:如果张三的Java成绩大于98分,那么老师奖励他一个MP4。1 public classPractice1 {2 pu…

Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

什么是Servlet? Servlet其实就是一个遵循Servlet开发的java类。Servlet是由服务器调用的,运行在服务器端。 为什么要用到Servlet? 我们编写java程序想要在网上实现 聊天、发帖、这样一些的交互功能,普通的java技术是非常难完成…

java kafka 分区_Java kafka如何实现自定义分区类和拦截器

生产者发送到对应的分区有以下几种方式:(1)指定了patition,则直接使用;(可以查阅对应的java api, 有多种参数)(2)未指定patition但指定key,通过对key的value进行hash出一个patition;(3)patition和key都未指定&#xff…

Servlet第三篇【request和response简介、response的常见应用】

response、request对象 Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象、和代表响应的response对象 既然request对象代表http请求,那么我们获取浏览器提交过来的数据,找request对象即可。respon…

strip string java_Java StringUtils.strip方法代码示例

import org.apache.commons.lang.StringUtils; //导入方法依赖的package包/类public static void copyResourceFolder(String resourceFolder, String destDir)throws IOException {final File jarFile new File(Util.class.getProtectionDomain().getCodeSource().getLocatio…

spring三种注入方式

设置Spring的作用域 或者使用枚举值设置 单例和多里使用场景 自动注入 Primary 一个接口有多个实现被spring管理吗,在依赖注入式,spring会不知道注入哪个实现类就会抛出NoUniqueBeanDefinitionException异常 使用Primary 来告诉Spring 注入哪个实现…

java虚拟机1.7_《Java虚拟机原理》7.1 精选 —— 总览

1.一个程序在 JVM 中运行的完整流程java程序执行流程.JPG说明:① 类加载器把字节码加载到方法区② 方法区的字节码被 JVM new,在堆内存中生成字节码对象③ 字节码对象被 GC 的要求有:该类没有在其他任何地方被引用;该类的所有的实…

Servlet第四篇【request对象常用方法、应用】

什么是HttpServletRequest HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。 简单来说,要…

java 设置控制台标题_修改Tomcat控制台标题以及标题乱码处理

双击“startup.bat”启动Tomcat,控制台默认标题是Tomcat,如下图:修改标题很容易,编辑catalina.bat这个文件(跟startup.bat在同级目录下),编辑的时候建议使用notepad、editplus之类的工具。然后找到如下代码片段(大约在…

Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】

什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话. 为什么我们要使用会话技术&#xff1…

mysql 视图sql_SQL的视图

1、什么是视图视图是虚拟的表,是一个存储的查询,虽然不需要实际的物理存储,但是也被看作是一个数据库对象;它与包含数据的表不一样,它不包含任何列或数据,它只是包含使用时动态检索数据的查询,并…

Servlet第六篇【Session介绍、API、生命周期、应用、与Cookie区别】

什么是Session Session 是另一种记录浏览器状态的机制。不同的是Cookie保存在浏览器中,Session保存在服务器中。用户使用浏览器访问服务器的时候,服务器把用户的信息以某种的形式记录在服务器,这就是Session 如果说Cookie是检查用户身上的”…

java 异步阻塞_大白话搞懂什么是同步/异步/阻塞/非阻塞

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼前言在最近的一些面试中,跟应聘者聊了比较多关于“同步/异步,阻塞/非阻塞”相关的话题,发现大家对于这些概念的理解都比较模糊,甚至有的同学会反问“他们不就是同一个东西吗&#xff…

python 3.9.0a0_Python 3.9.0 稳定版发布

IT之家10月6日消息据网友投递,Python 3.9.0 稳定版(Python 3.9.0 final)昨日正式发布,它包含许多新功能和优化,禁止在Windows 7上安装,且默认提供64位安装程序。IT之家了解到,Python 3.9.0 alpha 1首个迭代版本于2019 …

Tomcat+Servlet面试题都在这里

下面是我整理下来的Servlet知识点: 图上的知识点都可以在我其他的文章内找到相应内容。 Tomcat常见面试题 Tomcat的缺省端口是多少,怎么修改 找到Tomcat目录下的conf文件夹进入conf文件夹里面找到server.xml文件打开server.xml文件在server.xml文件里面找到下列…

java sdk下载_Java Sdk下载 | 保利威帮助中心

播放界面开发前准备1.小程序微信开发者后台设置-开发设置-服务器域名中配置 [request合法域名]开始开发1.获取频道直播播放地址index.wxmlindex.js选项说明uid类型:String说明:直播账户idvid类型:String说明:直播频道idvideoConte…