只用jsp实现同样的Servlet功能
Jsp最终都会转化成java形式的Servlet执行,因此也可以说Jsp的本质就是Servlet,在jsp执行后,会在服务器上(例如tomcat中)生成.java以及.class文件。具体执行过程如下:
Fig.1 Jsp的执行过程
Fig.2 Jsp具体执行过程
如图所示,Servlet能实现的功能,Jsp也能实现。
举个简单的例子,之前我用jsp显示前端+Servlet实现后端逻辑,这里我把逻辑实现也用Jsp实现:
<body>
<form action="ResultJsp.jsp">
username:<input type="text" name="username"><br>
password:<input type="password" name="password"><br>
<input type="submit" value="submit">
<input type="reset" value="reset">
</form>
</body>
ResultJsp.jsp代码实现逻辑如下:
<body>
<%
String username=request.getParameter("username");
String password=request.getParameter("password");
response.setContentType("text/html");
out.println("<html><head><title>LoginResult</title></head>");
out.println("<body>username:"+username+"<br>");
out.println("password:"+password+"</body></html>");
out.flush();
%>
</body>
这样我们就能实现之前用java代码实现的Servlet类的功能啦。
总结:
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
老师发的答案1:
JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成擅长于流程控制和事务处理而通过Servlet
来生成动态网页;JSP由HTML代码和JSP标签构成,可以方便地编写动态网页
因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.
答案2:
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。
转载于:https://www.cnblogs.com/qcxdoit/p/6057624.html
只用jsp实现同样的Servlet功能相关推荐
- jsp stc_为什么说jsp的本质是servlet?
我们知道,一个实现了servlet接口的java类被称为一个servlet,jsp实现了servlet接口,所以说jsp本质上是一个servlet 不过,jsp这个实现接口的方式隐藏得比较深,得从源码 ...
- java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能
jsp 和 javaBean 实现计算器功能 try { calculator.calculate(); } catch (Exception e) { out.write(e.getMessage( ...
- JSP Taglib指令具有什么功能呢?
转自: JSP Taglib指令具有什么功能呢? 下文讲述JSP中Taglib指令的功能简介说明,如下所示: Taglib指令的功能: 定义一个标签库以及其自定义标签的前缀 一个自定义的tag标签是用 ...
- 基于javaweb的酒店客房管理系统(java+jsp+html+bootstrap+jquery+servlet+mysql)
基于javaweb的酒店客房管理系统(java+jsp+html+bootstrap+jquery+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 ...
- 【Jsp】第二课 Servlet入门学习(一)
什么是Servlet } servlet是由sun公司提供的一门用于开发动态web资源的技术 } Servlet的核心是javax.servlet.Servlet接口,所有的Servlet 必须实现这 ...
- JSP中include指令的功能简介说明
转自: JSP中include指令起什么用呢? 下文讲述JSP中include指令的功能简介说明,如下所示: JSP中include指令的功能说明:用于将不同的文件插入到当前JSP页面的指定位置 JS ...
- javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/
今天在启动tomcat的时候,出现了这个错误 javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletC ...
- java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/
今天启动tomcat的时候出现了这样的错误 java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationC ...
- JSP脚本实现登录验证功能
JSP脚本实现登录验证功能 登录 点击退出 登录页面login <%@ page contentType="text/html;charset=UTF-8" language ...
最新文章
- 专为物联网开发的开源操作系统Contiki(转)
- 原来 Excel 只需三步就可以给证件照换底色!
- 蓝桥杯练习系统,入门训练,Java版
- java 获取oracle表结构_获取Oracle中所有表的列表?
- 店铺如何用视觉走出差异化?
- Windows10安装Cmder(图文教程)
- python人口普查数据数据分析_7、Python 数据分析-Pandas人口分析案例
- 清空数据库里面所有表的数据的语句
- ASP.net和ASP的区别
- android qq音乐歌词怎么实现,歌词翻译利器 QQ音乐Android3.9.5版本全新上线
- C++解压zip压缩文件
- def序列化器---视图序列化反序列化
- 如何管理一盘散沙的团队?
- J v a v 与 您
- [Photography] 新摄影笔记
- ubuntu11.10 安装谷歌拼音输入法详细步骤
- SQL存储过程与函数
- hive sql通过具体地址解析出行政区划(省 > 市 > 区 > 县 > 乡 > 镇 > 村)
- linux网口初始化_Linux 初始化系统配置(CentOS 6)
- 用USBoot制作USB启动盘