servlet

servlet,第1张

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资源路径

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5435002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存