Servlet的java文件编写的基本内容
2014-08-24 16:19
363 查看
开发Servlet的三种方法:
a.实现Servlet接口
b.通过继承GenericServlet
c.通过继承HttpServlet
以下代码是通过实现Servlet接口来实现业务逻辑的:
1.Web服务器首先检查是否已经装载并创建了该Servlet的实例对象,如果是,则直接执行第3步,否则执行第2步。
2.装载并创建该Servlet的一个实例对象,即调用init()方法。
3.创建一个用于封装HTTP请求消息的HTTPServletRequest对象和一个代表HTTP响应消息的HTTPServletResponse对象,然后调用
Servlet的service()方法并将请求和响应对象作为参数传递进去。
4.Web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用destroy()方法。
一般以下3种情况,会导致destroy()方法的调用。
1.Web服务器重新启动
2.重新reload该Webapp时
3.重新启动计算机时
第二种实现Servlet的方法是继承GenericServlet,代码如下
代码较第一种方法较少,不用强制重写5种方法,只需重写service方法,即可实现业务逻辑。
第三种实现Servlet的方法是继承HttpServlet,代码如下
HttpServlet方式开发Servlet需要重写doPost()和doGet()两种方法
那么表单提交数据get请求和post请求的区别在哪里呢?
1.从安全性来看 get<post get提交的数据会在浏览器的地址栏显示
2.从提交的内容大小来看 get<post get提交的数据不能大于2K,而post提交的数据理论上没有限制,但是实际中建议不要大于64K
3.从请求响应速度上来看 get>post get要求服务器立即处理,而post请求可能形成一个队列请求
编写完Servlet后生成class文件,放在classes目录下,然后再在web.xml文件中进行Servlet的部署即可调用
Servlet在web.xml文件中的部署
a.实现Servlet接口
b.通过继承GenericServlet
c.通过继承HttpServlet
以下代码是通过实现Servlet接口来实现业务逻辑的:
package com.hello; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyFirstServlet implements Servlet{ //该函数用于初始化servlet,就是把该servlet装载到内存中 //该函数只会调用一次 public void init(ServletConfig config) throws ServletException{ } //得到ServletConfig对象 public ServletConfig getServletConfig(){ return null; } //该函数是服务函数,业务逻辑函数写在这里 public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{ } //该函数得到servlet配置信息 public java.lang.String getServletInfo(){ return null; } //销毁该servlet public void destroy(){ } }以上Servlet调用流程为:
1.Web服务器首先检查是否已经装载并创建了该Servlet的实例对象,如果是,则直接执行第3步,否则执行第2步。
2.装载并创建该Servlet的一个实例对象,即调用init()方法。
3.创建一个用于封装HTTP请求消息的HTTPServletRequest对象和一个代表HTTP响应消息的HTTPServletResponse对象,然后调用
Servlet的service()方法并将请求和响应对象作为参数传递进去。
4.Web应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用destroy()方法。
一般以下3种情况,会导致destroy()方法的调用。
1.Web服务器重新启动
2.重新reload该Webapp时
3.重新启动计算机时
第二种实现Servlet的方法是继承GenericServlet,代码如下
<span style="font-size:12px;">package com.hello; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyFirstServlet extends GenericServlet{ //该函数是服务函数,业务逻辑函数写在这里 public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{ } }</span>
代码较第一种方法较少,不用强制重写5种方法,只需重写service方法,即可实现业务逻辑。
第三种实现Servlet的方法是继承HttpServlet,代码如下
<span style="font-size:12px;">package com.hello; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class MyFirstServlet extends HttpServlet{ //对get提交方式的回应 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, java.io.IOException{ } //对post提交方式的回应 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, java.io.IOException{ //可以在doPost()方法中调用doGet()方法,这样就相当于一个service()方法 this.doGet(); } }</span>
HttpServlet方式开发Servlet需要重写doPost()和doGet()两种方法
那么表单提交数据get请求和post请求的区别在哪里呢?
1.从安全性来看 get<post get提交的数据会在浏览器的地址栏显示
2.从提交的内容大小来看 get<post get提交的数据不能大于2K,而post提交的数据理论上没有限制,但是实际中建议不要大于64K
3.从请求响应速度上来看 get>post get要求服务器立即处理,而post请求可能形成一个队列请求
编写完Servlet后生成class文件,放在classes目录下,然后再在web.xml文件中进行Servlet的部署即可调用
Servlet在web.xml文件中的部署
相关文章推荐
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- File文件基本操作之二:java 替换指定文件中的指定内容
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- Servlet上传和下载文件_Java邮件基本使用
- java基于servlet编写上传下载功能 类似文件服务器
- 编写一个应用程序实现文件的复制。使用格式:java Copy 源文件目标文件,功能是将源文件的内容复制到目标文件。
- 编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt
- 以Base64字符串形式上传文件——服务器端Java/Servlet接受请求数据中的字符串内容并转换成文件
- java读取pdf文件内容
- 利用Java编写HTML文件分析程序
- 使用Apache POI和Java获得Excel文件内容,无须MS-Office ActiveX OLE
- 编写程序,完成文件复制功能,即将a.txt文件内容复制到b.txt文件中去
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- JAVA中关于树型图以及文件过滤器的基本实例代码(转贴请署名出处^_^)
- JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
- Java Servlet基本方法介绍
- SERVLET与JSP_文件上传下载(4)-java
- Java读取文件内容并转换为字符串
- 如何用java实现在网页中保存html编辑器 编辑好的 html 文件?!(如blog里发文章的时候把要发表的内容以html文件的形式保存到服务器上?)
- [基本算法]Java——编写一个线段类,实现基本数学算法