用Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP。 Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其实就是服务器)
负责执行Java程序。而JSP(Java Server Page)则是一个页面, 由JSP容器负责执行。html
Servlet和JSP二者最大的区别就是,Servlet以Java程序为主,
输出HTML代码时须要使用out.println函数,也就是说Java中内嵌HTML; 而JSP则以HTML页面为主,须要写Java代码时则在页面中直接插入Java代码, 即HTML中内嵌Java。典型的例子以下:web
JSP文件浏览器
<html> <body> <h1> <% out.println("JSP"); %> </h1> </body></html>
Servlettomcat
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协议支持的状况以下:mvc
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 |
能够去看看tomcat目录下的webapps目录。这个目录就是用来保存Web应用程序的。app
上图的根目录就是应当放置在 webapps 目录下的目录。WEB-INF目录没法从浏览器中访问。 WEB-INF/classes下保存的是编译后的Java程序(主要是Servlet),WEB-INF/lib 下保存的是
运行时使用的库文件(.jar文件),web.xml则是整个应用程序的配置信息。webapp
其余文件例如 .jsp、图片、Javascript脚本等,均可以直接放到Web应用程序的根目录下。jsp
所谓MVC模型就是将数据、逻辑处理、用户界面分离的一种方法。函数
而在Java中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet。
画成图则以下所示: