Servlet和JSP简述
什么是Servlet和JSP
用Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP。 Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其实就是服务器) 负责执行Java程序。而JSP(Java Server Page)则是一个页面, 由JSP容器负责执行。
Servlet和JSP两者最大的区别就是,Servlet以Java程序为主, 输出HTML代码时需要使用out.println函数,也就是说Java中内嵌HTML; 而JSP则以HTML页面为主,需要写Java代码时则在页面中直接插入Java代码, 即HTML中内嵌Java。典型的例子如下:
JSP文件
<body>
<h1>
<% out.println("JSP"); %>
</h1>
</body>
</html>
Servlet
...
out.println("<html>");
out.println("<body>");
out.println("<h1>");
out.println("Servlet);
out.println("</h1>");
out.println("</body>");
out.println("</html>");
}
可见,JSP便于输出,而Servlet便于进行逻辑处理。因此实际应用中两者常常结合使用,各司其职。
而Tomcat就是上面提到的Servlet容器和JSP容器。 各个版本对Servlet/JSP协议支持的情况如下:
Tomcat版本 | 支持Servlet | 支持JSP |
6.0.x | 2.5 | 2.1 |
5.5.x | 2.4 | 2.0 |
4.1.x | 2.3 | 1.2 |
3.3.x | 2.2 | 1.1 |
Web应用程序的结构
Tomcat安装好以后, 可以去看看tomcat目录下的webapps目录。这个目录就是用来保存Web应用程序的。
上图的根目录就是应当放置在 webapps 目录下的目录。WEB-INF目录无法从浏览器中访问。 WEB-INF/classes下保存的是编译后的Java程序(主要是Servlet),WEB-INF/lib 下保存的是 运行时使用的库文件(.jar文件),web.xml则是整个应用程序的配置信息。
其他文件例如 .jsp、图片、Javascript脚本等,都可以直接放到Web应用程序的根目录下。
MVC模型
所谓MVC模型就是将数据、逻辑处理、用户界面分离的一种方法。
- M(Model, 模型):用于数据处理、逻辑处理。
- V(View,视图):用于显示用户界面。
- C(Controller,控制器):根据客户端的请求控制逻辑走向和画面。
而在Java中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet。
- M = JavaBeans:用于传递数据,拥有与数据相关的逻辑处理。
- V = JSP:从Model接收数据并生成HTML
- C = Servlet:接收HTTP请求并控制Model和View
画成图则如下所示:
Servlet和JSP简述的更多相关文章
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- Servlet,jsp,JSP技术 ,JSP编程
一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...
- Servlet与JSP版本历史以及Tomcat支持的版本
查询这个的关键字:Java EE的版本历史. JavaServer Pages (JSP) Java Servlet 参考: https://en.wikipedia.org/wiki/Java_EE ...
- JBoss和Tomcat版本、及Servlet、JSP规范版本对应一览 【转】
原文地址:http://blog.csdn.net/hills/article/details/40896357 JBoss和Tomcat版本.及Servlet.JSP规范版本对应一览 JBossAS ...
- 你也可以当面霸-Servlet与JSP的原理及特点
既然是面试系列,就是面试官和应聘者之间的对话.本文是采用一问一答的形式呈现给读者的,这样能有一个明确的考察点,不像理论知识那么枯燥. 01.什么是Servlet技术 Servlet是和平台无关的服务器 ...
- Servlet、JSP选择题(2)
Java EE软件工程师认证考试 试题库-选择题 一. 选择题(包括单选和双选) 1.B 编写一个Filter,需要( ) A. 继承Filter 类 B. 实现Filter 接口 C. 继承 ...
- Servlet的生命周期,并说出Servlet和CGI的区别,Servlet与JSP的区别
一.Servlet 生命周期 1.加载 2.实例化 3.初始化 4.处理请求 5.销毁 二.Servlet与cgi的区别: Servlet处于服务器进程中,它通过多线程方式运行其service方法,一 ...
- 如何查看Servlet、JSP的版本(Tomcat V7.0.70)
1. 简要说明:Tomcat6.0 所支持的是Servlet2.5,Tomcat 7.0 所支持的Servlet3.0,Servlet2.5 和Servlet3.0的差异较大,对于Servlet3.0 ...
- myEclipse6.5与数据库(SQL Server2008)连接遇到的问题(自己总结的干货)<用SSH框架的时候,用servlet+javabean+jsp的时候>
昨天因为学习SSH框架的搭建,时隔一年又重新遇到了myEclipse连接数据库的问题.废话不多说,上干货 (以下全部按照我遇到的问题的顺序,也就是没有顺序,就是任性) 请注意:这是在myEclipse ...
随机推荐
- bzoj 1264 基因匹配
Written with StackEdit. Description 卡卡昨天晚上做梦梦见他和可可来到了另外一个星球,这个星球上生物的\(DNA\)序列由无数种碱基排列而成(地球上只有\(4\)种) ...
- C# 在类文件自动添加文件注释的方法
对于vs2013来讲, 步骤: 1.VS2013 中找到(安装盘符以C盘为例)C:\ProgramFiles(x86)\Microsoft VisualStudio12.0\Common7\IDE\I ...
- LeetCode Delete Operation for Two Strings
原题链接在这里:https://leetcode.com/problems/delete-operation-for-two-strings/description/ 题目: Given two wo ...
- rest_framework使用完之后的简单总结
首先先大致概括一下使用流程,因为还不是对这个框架很熟悉(其实有很多知识可以对比formModel的) 其实还是遵循django的MTV的模式,还是得从url开始 1.rest_framework有一个 ...
- VBA程序的调试
VBA程序的调试:设置断点.单步跟踪.设置监视窗 Acces的VBE编程环境提供了完整的一套调试工具和调试方法.熟练掌握好这些调试工具和调试方法的使用,可以快速.准确地找到问题所在,不断修改,加以完善 ...
- week-02 线性表
一.PTA实验作业 题目1:顺序表 7-1 最长连续递增子序列 1. 设计思路 定义结构体List,定义数组Data[maxsize]表示顺序表元素,变量Position表示位置,变量Length表示 ...
- HUSTOJ 昆虫繁殖(递推)
昆虫繁殖 时间限制: 1 Sec 内存限制: 128 MB提交: 25 解决: 16[提交][状态][讨论版][命题人:quanxing] 题目描述 科学家在热带森林中发现了一种特殊的昆虫,这种昆 ...
- CAD库中统计PBN运行航路条数和总距离
select 'PBN运行航路' 类型, fb.b 总条数, fa.a 总距离 from ( select sum(s) a from ...
- leetcode876
class Solution { public: ListNode* middleNode(ListNode* head) { if (head == NULL) { return nullptr; ...
- leetcode216
public class Solution { public IList<IList<int>> CombinationSum3(int k, int n) { , , , , ...