很多新朋友在接触javaweb时可能都会在servlet的概念的理解上碰壁,本文的目的就是帮助大家更好的理解servlet
Servlet:前期可以理解为:他就是一个后缀名为java的文件,通过Eclipse新建一个Dynamic Web Project项目,从中即可开始编写相应代码;
通过配置web.xml的<servlet>(配置好其中的servlet-name:指定名字;servlet-class:文件夹名.文件名)以及<servlet-mapping>(配置其中的servlet-name:必须与上面的指定名字相同;url-pattern:自定义路径名)实现访问;
需要注意的是,此时此java代码中的东西如果想要变成要展示的页面,其实都是通过response.getWriter().print();写出的!!
意思就是说,其实servlet就是一个输出流,把你的页面写成一个html。
其实我们可能会忽略一件事,就是我们能用浏览器打开的页面都是html格式文件(或jsp格式动态页面),不是吗?所以其实servlet工作原理就是通过java代码的输出流中写上html代码来实现输出一个html页面。
而jsp则是直接在html中写入java代码,这样我们就不必配置web.xml的相对配置了。
那么,servlet需要放在tomcat(servlet容器)中运行的概念是什么呢?其实就是指,系统要把servlet写好的.java文件通过编译形成的.class文件重新加进容器中,从而能使容器识别运行,所以每一次servlet文件改动后,需要重新启动服务器(否则改动的东西还没有被编译成class文件,容器自然识别不了)
没错,容器只能运行class文件,所以其实我们写的jsp文件其实最后也会被引擎编译为class文件运行。
所以网上说最后jsp也是被编译为servlet文件运行就是这个道理。
以上是我对servlet 与jsp区别的认识,希望能够帮助各位新入门的程序员们。