学习笔记(3)-----servlet的三种开发方式
来源:互联网 发布:c语言比较字符串相等 编辑:程序博客网 时间:2024/06/09 18:09
servlet网络拓扑图:
servlet快速入门:
开发servlet的三种方法:(非eclipse开发)
1、实现servlet接口:
在之前部署的虚拟目录mywebside的WEB-INF文件夹下新建classes文件夹(放servlet类文件),和一个lib文件夹,
以及web.xml配置文件(可从tomcat安装目录,D:\Tomcat6.0\webapps\ROOT\WEB-INF下复制里面的web.xml文件,内容稍微改下(去主页文件配置))
在classes文件夹下先建MyFirstServlet.java文件,然后编写servlet:
package com.zzx;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class MyFirstServlet implements Servlet{ //init用于初始化servlet,就是把servlet装载到内存,该方法只会被调用一次 public void init(ServletConfig config)throws ServletException { } //getServletConfig永遇得到ServletConfig对象 public ServletConfig getServletConfig() { return null; } //service是服务函数,我们的业务逻辑代码就是写在这里的,浏览器每次http请求,该函数就会被调用 public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException { System.out.println("hello word!" + new java.util.Date());//在控制台输出 res.getWriter().println("hello word!" + new java.util.Date().toLocaleString());//在浏览器输出,getWriter获得通向浏览器的字符流 } //getServletInfo函数得到servlet的配置信息 public java.lang.String getServletInfo() { return null; } //销毁该servlet,从内存中清除掉,该函数在整个过程中被调用一次 public void destroy() { } // main函数可不写 public static void main(String args[]) { }}
编译:
当然要编译成功首先要配置环境变量,让程序能找到servlet-api.jar
当然有了servlet类还得部署servlet才能通过使服务器通过编写的servlet响应浏览器请求
在web.xml中部署:
<servlet-name>指定该servlet的名字(可以随便取),<servlet-class>指定该servlet的class文件放在哪个包下面
这里写com.zzx.MyFirstServlet(不带.class)
<url-pattern>指定通过浏览器如何访问servlet,这里的' /zzx '表示在浏览器输入:http://localhost:8081/mywebside/zzx
来访问该servlet
(浏览器资源定位到zzx,通过web.xml文件找到zzx对应的servlet名字,即MyFirstServlet,然后再通过<servlet>节点中的元素找到该servlet名对应的class文件,然后加载到Java虚拟机运行,最后将结果打包返回给浏览器)
2、实现GenericServlet接口:
GenericServlet接口已经实现了init(),ServletConfig(),getServletInfo(),destroy(),
所以只用实现servlet()方法。
在classes文件夹下创建MyGenericServlet.java文件
package com.zzx;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class MyGenericServlet extends GenericServlet{public void service(ServletRequest req,ServletResponse res)throws ServletException,java.io.IOException { System.out.println("hello word!" + new java.util.Date()); res.getWriter().println("hello word!" + new java.util.Date().toLocaleString()); }}
同样部署servlet:
通过http://localhost:8081/mywebside/xin053 访问
3、继承HttpServlet类:(90%公司是通过此方法开发的,现在的主流)
只需重写doGet()和doPost()方法
在classes文件夹下创建MyHttpServlet.java文件
package com.zzx;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;public class MyHttpServlet extends HttpServlet{//在HttpServlet中,设计者对post和get提交分别处理protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,java.io.IOException{ resp.getWriter().println("I am doing get()" + req.getParameter("username"));}protected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,java.io.IOException{resp.getWriter().println("I am doing post() post name = " + req.getParameter("username"));}}//其实doGet()和doPost()最终也是去调用service()方法
同样部署servlet:
通过http://localhost:8081/mywebside/xin访问
get提交于post提交:
- 学习笔记(3)-----servlet的三种开发方式
- 【2015/4/18】servlet学习笔记3--实现servlet的三种方式
- 开发Servlet的三种方式
- 韩顺平servlet学习笔记01-创建servlet的三种方式
- 开发Servlet的三种方式和Servlet配置详解
- Servlet开发三种方式
- Servlet学习之一开发Servlet的三种方法
- web开发学习笔记三:servlet
- 细说Servlet 什么是Servlet以及Servlet的三种开发方式
- 学习理解实现Servlet的三种方式
- Servlet学习(一)----Servlet的生命周期以及开发Servlet的三种方法
- 代码片-1】 Servlet学习(一)----Servlet的生命周期以及开发Servlet的三种方法
- servlet学习笔记(三)
- Servlet学习笔记《三》
- Servlet学习笔记(Servlet生命周期&开发Servlet的方法)
- 创建Servlet的三种方式
- 实现Servlet的三种方式
- servlet的三种跳转方式
- CGIC简明教程
- 再探Objective-C.5
- cocos2d-x精灵更换图片
- 浏览器缓存实现原理
- obtainStyledAttributes深入研究
- 学习笔记(3)-----servlet的三种开发方式
- context.obtainStyledAttributes 研究
- 文本事件
- 【LEETCODE】Implement strStr().
- LeetCode Path Sum
- 谈谈内存映射文件
- 持续集成(第二版)
- jdbcTemplate和SessionFactory的区别
- C# 两个独立exe程序直接通信