Servlet入门
来源:互联网 发布:淘宝开学季活动 编辑:程序博客网 时间:2024/06/05 18:00
Servlet简介
什么是Servlet?
百度百科解释:
Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
通俗解释:
在服务器端运行的一个java小程序,来处理客户端的http请求,返回相应数据。(封装了网络编程细节,socket,http协议解析等不用你写,按照Servlet规范重写相应接口写java代码就行了)
Servlet在服务器的角色
Servlet使用步骤
知道Servlet是什么了吧?可是怎么用呢?学习怎么用之前先想几个问题:
在web端或者app端发送了一个http请求,是如何到达我们想要的它到达的Servlet的?(Servlet配置)
如何在Servlet接收和响应http请求?(Servlet实现方式)
带着两个问题我们来学习Servlet的使用步骤
1.使用myecllpse新建web项目
新建一个名为AServlet的java Web项目
2.实现Servlet(三种方式)
1.实现servlet接口
2.继承GenericServlet
3.继承HTTPServlet
由于是入门,这里只介绍第一种方式:新建java类AServlet实现Servlet接口
这里我新建了一个包:com.first
package com.first;import java.io.IOException;import javax.servlet.Servlet;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class AServlet implements Servlet {//销毁Servlet实例,关闭服务器时会调用一次public void destroy() {System.out.println("destroy");}//获取Servlet配置public ServletConfig getServletConfig() {// TODO Auto-generated method stubreturn null;}@Overridepublic String getServletInfo() {// TODO Auto-generated method stubreturn null;}//初始化Servlet,响应第一个请求前初始化一次public void init(ServletConfig arg0) throws ServletException {System.out.println("init");}//响应http请求public void service(ServletRequest arg0, ServletResponse arg1)throws ServletException, IOException {arg1.getWriter().write("hello servlet");}}
3.配置Servlet
在web.xml文件中进行配置(现在可以注解方式来配置了)
增加servlet声明和servlet映射
执行完前两步,你的http请求就会到刚才我们写的类中的service接口中去了
4.放到tomcat下试一试吧
这里默认你会下载安装tomcat,并已经启动tomcat了
将整个项目文件夹(我这里是AServlet)复制到tomcat的webapps目录下
我的这个tomcat是myeclipse自带的,所以不用copy
Servlet生命周期
*Servlet对象创建时机? 第一次访问servlet时.
*Servlet对象创建的特点? 通过只在第一次访问时调用init的现象, 一个servlet实例在服务器中只有一个.
*当请求访问servlet时,service方法会处理请求.
*当服务器将要关闭,服务器会销毁服务器中的Servlet对象,在真正销毁之前调用destory方法.
*Servlet对象创建的特点? 通过只在第一次访问时调用init的现象, 一个servlet实例在服务器中只有一个.
*当请求访问servlet时,service方法会处理请求.
*当服务器将要关闭,服务器会销毁服务器中的Servlet对象,在真正销毁之前调用destory方法.
Servlet其他函数
private ServletConfig sc;//获取Servlet配置(init的时候会传进来,保存一下就可以)public ServletConfig getServletConfig() {return sc;}//初始化Servlet,响应第一个请求前初始化一次public void init(ServletConfig arg0) throws ServletException {sc = arg0;Enumeration<String> era = sc.getInitParameterNames();System.out.println("-----------init-----------");while(era.hasMoreElements()){System.out.println(sc.getInitParameter(era.nextElement()));}System.out.println("-----------init-----------");}//获取Servlet信息(版权等),基本没用public String getServletInfo() {// TODO Auto-generated method stubreturn null;}
ServletConfig对象有以下几个方法:
String getInitParameter(String name) 获得配置信息 根据键获得值
Enumeration getInitParameterNames() 获得配置信息 获得所有键
String getServletName() 获得servlet的名称 <servlet-name>AServlet</servlet-name>
ServletContext getServletContext() 该方法返回ServletContext对象. ServletContext对象后期博客再记录
Enumeration getInitParameterNames() 获得配置信息 获得所有键
String getServletName() 获得servlet的名称 <servlet-name>AServlet</servlet-name>
ServletContext getServletContext() 该方法返回ServletContext对象. ServletContext对象后期博客再记录
Servlet的配置参数在web.xml中指定,如下:
<servlet> <servlet-name>AServlet</servlet-name> <servlet-class>com.first.AServlet</servlet-class> <!-- 初始化参数,要放在enabled标签前面 --> <init-param> <param-name>name</param-name> <param-value>barry</param-value> </init-param> <init-param> <param-name>age</param-name> <param-value>24</param-value> </init-param> <enabled>true</enabled> </servlet>
0 0
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet 入门
- Servlet入门
- Servlet入门
- Servlet入门
- Servlet入门
- servlet入门
- servlet入门
- Unity UGUI图文混排源码(三) -- 动态表情
- Mybatis之properties属性
- Spring原理-注入依赖的过程
- 全栈必备Linux 基础
- hdu 5878
- Servlet入门
- hdu 5883 (欧拉路,青岛网络赛)
- 第4周 项目3-- 单链表应用(2)
- JDBC的基本操作
- css基本知识点
- Leetcode 73 Set Matrix Zeroes
- Android Service完全解析,关于服务你所需知道的一切(上)
- 公有密钥和私有密钥加密
- 一个很傻瓜式解数独算法