zoukankan      html  css  js  c++  java
  • JSP与Servlet的介绍说明

    什么是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文件

    复制代码代码如下:

    <html>  
       <body>  
         <h1>  
         <% out.println("JSP"); %>  
         </h1>  
       </body>  
     </html> 


    Servlet

    复制代码代码如下:

    public class MyServlet ... {  
       ...  
       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

    画成图则如下所示:

  • 相关阅读:
    使用 Dockerfile 定制镜像
    UVA 10298 Power Strings 字符串的幂(KMP,最小循环节)
    UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
    LeetCode Best Time to Buy and Sell Stock 买卖股票的最佳时机 (DP)
    LeetCode Number of Islands 岛的数量(DFS,BFS)
    LeetCode Triangle 三角形(最短路)
    LeetCode Swap Nodes in Pairs 交换结点对(单链表)
    LeetCode Find Minimum in Rotated Sorted Array 旋转序列找最小值(二分查找)
    HDU 5312 Sequence (规律题)
    LeetCode Letter Combinations of a Phone Number 电话号码组合
  • 原文地址:https://www.cnblogs.com/tian830937/p/5174968.html
Copyright © 2011-2022 走看看