JavaEE学习笔记之JSP+Servlet(一)

一、工作原理

JSP包括了指令,动作标签,内部对象等。客户端请求web应用的JSP页面时,web服务器会把请求对象(request)交给JSP引擎。如果JSP是第一次被访问,JSP引擎(JSP文件的编译器)将会将JSP文件编译成Java的类文件(如果不是第一次访问,即要访问的JSP页面已经编译好了,将不再编译),Java的类文件是可以直接被JVM加载的,不管何种语言,只要能够编译成符合Java语言规范的类文件(.class文件),就可以被JVM加载运行。web服务器会将JSP引擎翻译成的类文件加载到内存运行,并将结果封装到response对象中,以HTML等形式通过web服务器返回给客户端。所以JSP页面是程序与客户交互的门窗,简单的说,可以将JSP页面理解问程序的界面。

Servlet是一个Java语言编写的程序。当服务器启动或者第一次访问servlet的时候,web容器加载servlet,servlet的生命周期包括三个阶段:初始化、服务和销毁。主要包括三个函数,分别是init()函数,实现servlet的初始化,destory()实现servlet的销毁,service()实现servlet的服务功能,所谓的服务也就是对数据的处理。例如doGet()和doPost()。对于具体调用那个函数服务,需要根据客户端提交数据的方式,一般包括四种,get,post,put和delete。对于这四种方法,服务器会判断哪一种方法提交的,然后调用相应的函数进行数据处理。

JavaBean是一个普通的Java类,主要是将客户端提交的信息封装成一个对象。可能会有疑问,前面不是说,request对象不是用来封装客户端提交的信息吗?request的实现应该是一个map或类似与map的数据结构实现,保存的是客户端提交的所有的数据,存放方式是键值对。而JavaBean是一个有“意义”的Java类。

二、代码实例

下面的代码实现的主要功能是在登录验证。主要流程是通过Login.jsp页面登录,然后通过Login.java(也就是一个servlet)进行处理,处理的时候,先从request对象中提取所需数据,将数据封装到user对象中,然后调用User类中的判断函数,如果符合要求(用户名和密码一样且不为空),则跳转到success.jsp页面,否则重定向到failure.jsp页面。

详细代码如下:

Login.jsp

servlet类(Login.java)

JavaBean类(User.java)

success.jsp

failure.jsp


转载请注明出处:http://blog.csdn.net/ljp2009012843/article/details/7589001

你可能感兴趣的:(servlet)