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
打开设计器创建项目
- 创建项目填写项目名称以及主包名
- 填写服务器地址端口(HotServer端口为6060),填写服务器用户名以及密码
- 点击“测试连接”按钮
- 服务器连接成功后点击“Next”按钮
- 输入数据库名称以及用户名密码,点击“测试连接”按钮
- 数据库连接成功后点击“初始化数据”,弹出如下界面:
- 点击“Finish”按钮完成工程的创建
4.2 功能代码
- RedirateServlet
用于点击后重定向至修改密码页面,功能代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String jspName = "/jsp/uui/ModifyUserPassword.jsp"; try { this.getServletContext().getRequestDispatcher(jspName).forward(request,response); } catch (ServletException | IOException e) { e.printStackTrace(); } }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 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> <url-pattern>/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> <url-pattern>/redirate</url-pattern> </servlet-mapping> |
4.4 演示效果
浏览器输入http://localhost:6060/servlet访问效果如下:
点击修改密码,跳转到修改密码页面:
填写用户名,密码、新密码后,修改成功页面如下:
点击登录。跳转到登录页面,输入用户名以及新的密码进行登录
如果原密码输入错误将跳转至错误提示页面
5 个人总结
笔者作为数通畅联的一名技术人员在项目中初步接触Servlet,学习Servlet的开发与配置,并开发简单的样例与大家分享,笔者认为Servet虽然可以多线程响应,但每开发一个Servlet都需要进行对应的配置很是繁琐。如果希望了解数通畅联更多的产品信息欢迎访问数通畅联官网(agileai.com)。
6 附件及说明
附件为servlet样例工程,导入AEAI DP部署后即可运行使用。附加及文档地址:https://pan.baidu.com/s/1pLbfcON
相关推荐
servlet技术初步入门 servlet技术初步入门 servlet技术初步入门 servlet技术初步入门
Java servlet初步使用,包括session。实现网上书店的简单功能,
2、掌握Servlet初始化参数的设置和读取 2、通过重写init、destory、service函数体会Servlet的生命周期 3、Servlet初始化参数
JAVA100例之实例79Servlet的初步学习
Servlet详解 Servlet详解 Servlet详解
servlet apiservlet apiservlet apiservlet api
刚刚接触java时做的日志管理系统,做的很简单,适合初学着 servlet servlet servlet servlet servlet日志管理系统 servlet servlet servlet servlet servlet日志管理系统 servlet servlet servlet servlet servlet...
servlet基础与servlet容器模型
用注解的方式定义一个Servlet,就不用在web.xml中配置了。Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。 像上面的AnnotationServlet可以描述成@WebServlet(name="Annotation...
Files contained in javax.servlet.jar: META-INF/MANIFEST.MF javax/servlet/http/LocalStrings.properties javax.servlet.http.HttpSessionBindingListener.class javax.servlet....
这份资料详细讲解《JavaServlet程序设计初步》,希望能给有志成为IT人才一点帮助!祝你早日成功! Thank you!
SERVLET
我们老师教学演示的servlet例子 从简单到难文件夹有八个demo供初学者学习 servlet01 servlet02 servlet03 servlet04 servlet05 servlet06 servlet07 servlet08 servlet是在服务器上运行的小程序。这个词是在Java ...
servlet入门很好用的servlet入门
servlet源码 servlet-api-src javax.servlet.Servlet源码
servlet.jar.zip用于servlet程序的开发
servlet线程安全问题servlet线程安全问题