Java Servlet实现的三种方式
来源:互联网 发布:未备案域名 微信 编辑:程序博客网 时间:2024/05/10 13:54
什么是Servlet
Servlet
是在服务器上运行的小程序。一个Servlet
就是一个Java
类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的Servlet
程序。
Tomcat容器等级
Tomcat
的容器分为四个等级,Servlet
的容器管理Context
容器,一个Context
对应一个Web
工程。结构如下图所示:
准备工作
- 安装tomcat
在tomcat中建立如下的目录结构:
即在
tomcat
的安装目录下的webapps
下新建一个MyWebSite
文件夹,用来保存自己网站的内容,接下来,在MyWebSite
中,建立一个文件夹WEB-INF
(注:大小写都必须完全一样),在WEB_INF
中,建立一个名为classes
和一个名为lib
的文件夹,还有一个web.xml
的文件(该文件可以从与MyWebSite
同级的ROOT
文件夹中复制一个过来)共三个文件,如此,就建立好了自己网站的目录结构。
实现Servlet的三种方式
1 实现Servlet
接口,然后实现接口中的五个方法,代码为:
public class Hello implements Servlet{ //该函数用于初始化servlet,类似于类的构造函数,该函数只会被调用一次 public void init(ServletConfig parm1) throws ServletException { System.out.println("init it!"); } public ServletConfig getServletConfig() { // TODO: Add your code here return null; } //这个函数用于处理业务逻辑 //当用户每访问servlet时,都会调用 //req:用于获得客户端(浏览器)信息 //res:用于向客户端(浏览器)返回信息 public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { //从res中得到PrintWriter System.out.println("Service it"); PrintWriter pw = res.getWriter(); pw.println("Hello world!"); } public String getServletInfo() { return ""; } //销毁,释放内存,三种方式会触发destroy //1. reload该servlet(webApps) 2. 关闭tomcat 3.关机 public void destroy() { System.out.println("destroy it!"); }}
2 继承GenericServlet
,只需要实现一个方法:service
public class HelloGen extends GenericServlet{ //重写一个方法service即可 public void service(ServletRequest req, ServletResponse res){ //返回Hello world, generic try{ PrintWriter pw = res.getWriter(); pw.println("Hello generic"); } catch(Exception e){ e.printStackTrace(); } }}
3 继承HttpServlet
,复写doGet
和doPost方法
public class HelloHttp extends HttpServlet{ //处理get请求 public void doGet(HttpServletRequest req, HttpServletResponse res){ //业务逻辑 try{ PrintWriter pw = res.getWriter(); pw.println("hello, Http"); } catch (Exception e){ e.printStackTrace(); } } public void doPost(HttpServletRequest req, HttpServletResponse res){ this.doGet(req,res); }}
当然,每次写好代码之后,需要在web.xml
中注册新的servlet
web.xml
:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> //第一种方式需要加入的部分 <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.thorin.Hello</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/thorin</url-pattern> </servlet-mapping> //第二种方式需要加入的部分 <servlet> <servlet-name>hellogen</servlet-name> <servlet-class>com.thorin.HelloGen</servlet-class> </servlet> <servlet-mapping> <servlet-name>hellogen</servlet-name> <url-pattern>/hellogen</url-pattern> </servlet-mapping> //第三种方式需要加入的部分 <servlet> <servlet-name>hellohttp</servlet-name> <servlet-class>com.thorin.HelloHttp</servlet-class> </servlet> <servlet-mapping> <servlet-name>hellohttp</servlet-name> <url-pattern>/hellohttp</url-pattern> </servlet-mapping></web-app>
然后在tomcat
的管理界面中reload
就可看到效果了:
效果1:
效果2:
效果3:
当然,目前使用最常使用的是第三种方式,即继承HttpServlet
的方式。
0 0
- Java Servlet实现的三种方式
- 实现Servlet的三种方式
- servlet的三种实现方式
- Servlet的三种实现方式
- Servlet教程 (二) 实现Servlet的三种方式
- Servlet三种实现方式
- Servlet-三种实现方式
- Servlet的三种创建方式-----------实现javax.servlet.Servlet接口
- Servlet的生命周期和三种实现方式
- 学习理解实现Servlet的三种方式
- 实现Servlet的方式二、三
- 【2015/4/18】servlet学习笔记3--实现servlet的三种方式
- 实现 Java 平台的三种方式
- 实现 Java 平台的三种方式
- 实现 Java 平台的三种方式
- 实现 Java 平台的三种方式
- 实现 Java 平台的三种方式
- java线程的三种实现方式
- Linux shell 常用命令
- 1119. Pre- and Post-order Traversals (30) 二叉树
- JDBC--数据库管理系统
- sqoop的简单实用
- Eclipse从SVN资源库中更新项目文件
- Java Servlet实现的三种方式
- postgresql无法远程访问
- java JDK的安装图文教程
- 线性表(顺序表)
- 使用虚拟机从小白开始搭建Spark集群
- 求1000位随机数除7的余数(java)
- VMware安装ubuntu16.04切换至root时密码错误问题
- 如何让Fragment响应onBackPressed事件
- 基于SwipeRefreshLayout的下拉刷新功能