Servlet初步认知

网友投稿 633 2022-11-14

Servlet初步认知

Servlet初步认知

1 背景概述

在近期的公司项目开发的过程中,笔者初步学习Servlet的开发、配置与使用,本文主要介绍了Servlet的相关概念以及优势说明并附上笔者开发简单样例。今天将笔者学习的心得总结出来与大家分享,希望能对大家有所帮助。

2 Servlet简介

2.1 基本概念

Servlet是一个供其他Java程序调用的java类,比如tomcat服务器,它不能独自运行,它的运行由servlet引擎来控制和调度。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

2.2 生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

Servlet 通过调用 init () 方法进行初始化。Servlet 调用 service() 方法来处理客户端的请求。Servlet 通过调用 destroy() 方法终止(结束)。最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

3 优势说明

3.1 CGI 比较

性能优化

在传统 CGI 中,如果有 N 个并发的对同一 CGI程序的请求,则该CGI程序的代码在内存中重复装载了 N 次;而对于 Servlet,处理请求的是 N 个线程,只需要一份 Servlet 类代码。在性能优化方面,Servlet 也比 CGI 有着更多的选择。

可移植性

Servlet 用 Java 编写,Servlet API具有完善的标准。因此,为 IPlanet Enterprise Server 写的 Servlet 无需任何实质上的改动即可移植到 Apache、MicrosoftIIS 或者 WebStar。几乎所有的主流服务器都直接或通过插件支持 Servlet。

功能强大

在Servlet中,许多使用传统 CGI 程序很难完成的任务都可以轻松地完成。例如,Servlet 能够直接和 Web服务器交互,而普通的 CGI 程序不能。Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

3.2 jsP 比较

JVM识别性

Jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)。

逻辑控制

Jsp更擅长表现于页面显示,Servlet更擅长于逻辑控制。

内置对象

Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.

客户端响应

Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应

4 简单样例

基于DP创建servlet以及对应的文件配置实现用户修改密码的功能

4.1 样例创建

在数通畅联(agileai.com)官网资源分享中-对应的介质(AEAI DP应用开发平台)

启动服务器HotServer

打开设计器创建项目

4.2 功能代码

RedirateServlet

public void

throws

    String jspName = "/jsp/uui/ModifyUserPassword.jsp";

try

this.getServletContext().getRequestDispatcher(jspName).forward(request,response);

catch

            e.printStackTrace();

        }

    }

 

public void

throws

     doGet(request,response);

    }

   

UpdatePwdServlet

用于修改密码页面提交后,实现密码修改的功能,主要功能代码如下:

1) 修改密码

2) 校验密码

4.3 文件配置

在web.xml中添加创建的Servlet的配置

  <servlet>

    <servlet-name>UpdatePwdServlet</servlet-name>

    <servlet-class>com.agileai.text.servlet.UpdatePwdServlet</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>UpdatePwdServlet</servlet-name>

updatepwd</url-pattern>

  </servlet-mapping>

 

  <servlet>

    <servlet-name>RedirateServlet</servlet-name>

    <servlet-class>com.agileai.text.servlet.RedirateServlet</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>RedirateServlet</servlet-name>

redirate</url-pattern>

  </servlet-mapping>

4.4 演示效果

浏览器输入个人总结

笔者作为数通畅联的一名技术人员在项目中初步接触Servlet,学习Servlet的开发与配置,并开发简单的样例与大家分享,笔者认为Servet虽然可以多线程响应,但每开发一个Servlet都需要进行对应的配置很是繁琐。如果希望了解数通畅联更多的产品信息欢迎访问数通畅联官网(agileai.com)。

6 附件及说明

附件为servlet样例工程,导入AEAI DP部署后即可运行使用。附加及文档地址:https://pan.baidu.com/s/1pLbfcON

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云时代集成模式分析
下一篇:AEAI DP V3.7.0 发布,开源综合应用开发平台
相关文章

 发表评论

暂时没有评论,来抢沙发吧~