说到JSP和Servlet,不得不讲讲他哥俩的来龙去脉,Servlet是先出者,是为了满足生成动态页面的需求,但是他有一个巨大的毛病,就是需要在Java类中一句句的输出HTML标签来实现动态效果,这种写法令开发者头疼不已,因为随着页面的复杂度提升,动态和静态的整合就显得非常麻烦,修改起来也不是很好。因此,JSP横空出世,他支持在HTML页面直接写Java语句,不需要后期的整合,直接变成JSP文件,并且Sun公司一度把JSP从编码形式上改得和HTML标签极度相似。但是,Servlet并没有因为JSP退出舞台,而是退居二线,一心一意的做起了Controller层,和View层的JSP配合完成一个又一个艰巨的任务。
那就先从HelloWorld例子入手,先写一个Servlet往客户端输出的例子,现在eclipse下创建一个Servlet或Class文件,代码如下:
运行上段Servlet代码,还需要在服务器中配置并发布,我用的服务器是tomcat,具体的操作过程不再赘述,百度即可。从这个例子可以看出Servlet就是一个Java类,它是通过out.println方法一句句的输入HTML达到网页动态效果的。
下面再来看一段JSP的代码,这时候创建的就是一个JSP文件了,不是Java类,JSP文件支持HTML,也可以在他里面写Java代码,示例如下:
上面的例子直接拷贝到tomcat的webapps下就可以运行,不需要像Servlet一些样配置config文件等。写JSP时可以直接在需要动态的部分中插入需要的Java代码,其余的静态部分依旧按照HTML的写法即可,其实,从例子可以看出 JSP就是能写Java代码的HTML文件。
下面再举一个JSP和Servlet配合完成的例子,把JSP中的数据提交到Servlet,并且显示出来,代码如下:
JSP页面的代码:
Servlet文件的代码:
从例子可以看出JSP和Servlet互相配合,完成了数据的提交和页面的跳转,他俩配合实为完美。