栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

servlet

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

servlet

Servlet简单入门 Tomcat:web应用服务器
  • bin:存放各个平台启动和停止Tomcat服务的脚本和文件
  • conf:存放各种Tomcat服务器的配置文件
  • lib:存放Tomcat服务器所需要的jar
  • logs:存放Tomcat服务器运行的日志
  • temp:Tomcat运行时的临时文件
  • webapps:存放允许客户端访问的资源(java程序)核心
  • work:存放Tomcat将JSP转换之后的Servlet文件
Servlet
  • 什么是Servlet?

    Servlet是javaweb开发的基石,与平台无关的服务器组件,他是运行在servlet容器/web应用服务器/Tomcat,负责与客户端进行通信

  • Servlet功能:

    1、创建并返回基于客户请求的动态HTML页面

    2、与数据库进行通信

  • 如何使用Servlet?

    Servlet本身是一组接口,(javax.servlet包)自定义一个类,并且实现Servlet接口,这个类

    public class Servlet implements javax.servlet.Servlet {
        //初始化
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {
    
        }
        //返一个ServletConfig对象
        @Override
        public ServletConfig getServletConfig() {
            return null;
        }
        //核心  处理客户端请求
        @Override
        public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            String id = servletRequest.getParameter("id");
            System.out.println("我是Servlet,我已经接受到了客户端发来的请求,参数是"+id);
            servletResponse.setContentType("text/html;charset=UTF-8");//设置相应编码类型
            servletResponse.getWriter().write("你好,客户端!");//中文会乱码
        }
        //返回一个字符串信息
        @Override
        public String getServletInfo() {
            return null;
        }
        //销毁 卸载 释放资源
        @Override
        public void destroy() {
    
        }
    }
    

浏览器不能直接访问Servlet文件,只能通过映射的方式来间接访问Servlet,映射需要手动配置

  • 第一种:基于XML文件的配置方式
    • 在web.XML 中配置

		
        Servlet
        
        com.ganggu.Servlet
    

	
    
    	
        Servlet
        
        /Servlet
    
  • 第二种:基于注解的方式
@WebServlet("/demo2")
public class HelloServlet implements Servlet {
}

上面两种配置方式结果一样,将demo2与HelloServlet进行映射,即在浏览器地址栏中直接访问demo2就可以映射到HelloServlet

Servlet的生命周期

1、当浏览器访问Servlet的时候,Tomcat会查询当前Servlet的实例对象是否存在,如果不存在,则通过反射机制动态创建对象,如果存在,直接执行第3步

2、调用intitle方法完成初始化操作

3、调用service方法完成业务逻辑操作

4、关闭Tomcat时,会调用destory方法,释放当前对象占用的资源

Servlet的生命周期方法:无参构造函数、init、 service、destory

1、无参构造函数只调用一次,创建对象

2、init只调用一次,初始化对象

3、service调用N次,执行业务方法

4、destory只调用一次,卸载对象

ServletConfig

该接口用来描述Servlet的基本信息的

getServletName() 返回Servlet的名称,全类名(带着包名的类名)

getInitParameter(String key) 获取init参数的值(web.xml)

getInitParameterNames() 返回所有的initParamter的name值,一般用作遍历初始化参数

getServletContext() 返回ServletContext对象,他是Servlet上下文,整个Servlet的管理者

ServletConfig和ServletContext的区别:

ServletConfig 作用于某个Servlet实例,每个Servlet都有对应的ServletConfig,ServletContext作用于整个Web应用对应一个ServletContext,多个Servlet实例对应一个ServletContext

一个局部对象,一个全局对象

GenericServlet

将Servlet接口中其他的方法做了默认空实现, 只将service()方法作为抽象

将来定义Servlet类是,可以继承GenericServlet,实现service()方法

HTTPServlet
  • doGet方法:接收地址栏请求
  • doPost方法:接收表单请求
public class Servlet_http extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet。。。。");
        //super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doPost。。。。");
        //super.doPost(req, resp);
    }
注解配置
@WebServlet("/demo1")//Servlet资源路径
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459489.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号