Java servlet类初步解析和Tomcat使用

Tomcat

web端使用Tomcat 服务器 下载地址 https://tomcat.apache.org/download-90.cgi

如何使用?

测试Tomcat服务器
* 先去往Tomcat 下的bin文件夹中
* sudo chmod 755 *.sh
* 获取文件夹的读写权限
* sudo sh ./startup.sh
* 执行打开服务器
* sudo sh ./shutdown.sh
* 执行关闭服务器
* 访问服务器网址(url)
* http://localhost:8080/
* 协议 本地地址 端口号 项目名称 访问资源

出现以下画面就说明Tomcat已经成功启动了
Java servlet类初步解析和Tomcat使用_第1张图片

Eclipse 下配置

Java servlet类初步解析和Tomcat使用_第2张图片
Java servlet类初步解析和Tomcat使用_第3张图片

将tomcat文件添加进去就可以了 开始第一个程序吧!
这里需要添加tomcat服务器 点击
这里写图片描述
Java servlet类初步解析和Tomcat使用_第4张图片
选中要添加的工程 点击 add 然后 finish结束
Java servlet类初步解析和Tomcat使用_第5张图片
添加好后双击打开服务器 按照下面图片进行设置即可大功告成
Java servlet类初步解析和Tomcat使用_第6张图片

第一行代码

Servlet 小服务程序 是一个java类 接口
注意:在浏览器上访问的每一个网页 都是一个servlet 每个 servlet 都需要配置一个网址 在webXML中配置
浏览器如何访问到我们的servlet类?
1. 用户用网址访问服务器
2. 服务器通过网址可以找到 对应的项目 web.xml 文件
3. 通过网址找到对应的servletname
4. 通过servletname找到对应的 servlet类
5. 创建servlet对象
6. 执行声明周期的几个方法
Java servlet类初步解析和Tomcat使用_第7张图片

创建 servlet类 第一种创建方法

public class Demo01 implements Servlet{
    // 生命周期方法以下四个
    // 实例化方法(无参构造方法)
    public Demo01() {
        System.out.println("我是实例化方法");
    }

    @Override
    public void init(ServletConfig arg0) throws ServletException {
        System.out.println("我是 初始化方法 init");
    }

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
        // Servlet 只创建一个 多次访问实际上就是多次调用service方法
        System.out.println("我是服务方法 service");
    }

    @Override
    public void destroy() {
        // 删除该应用程序的时候调用 
        // 停止服务器的时候调用
        System.out.println("我是销毁方法 destroy");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public String getServletInfo() {
        return null;
    }
}

第二种创建方式

public class Demo02 extends GenericServlet{

    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("你好!");
    }

}

第三种创建方式

public class Demo03 extends HttpServlet{
    // 声明一个ServletConfig 对象 当做成员变量
    private ServletConfig config;


    // 初始化方法(通过该方法的参数 获取到ServletConfig对象)
    // ServletConfig对象保存的是Servlet中的配置信息
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        // 接收ServletConfig
        this.config = config;
    }

    // 接收Get请求
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        // 调用父类的doGet方法 会报错 400/405
        //      重写完doGet方法 注意不要调用父类的 否则会报错
        //      super.doGet(req, resp);
        // 参数是配置的name 相当于Key 用Key 获取对应的Value
        String value = this.config.getInitParameter("encoding");
        System.out.println(value);
    }

    // 接收post请求
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

你可能感兴趣的:(java)