1.servlet基础
Servlet是sun公司提供的一门用于开发动态web资源的技术。
Servlet是JavaWeb的三大组件(servlet、listner、filter)之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要:
l 接收请求数据;
l 处理请求;
l 完成响应。
实现Servlet有三种方式:
l 实现javax.servlet.Servlet接口;
l 继承javax.servlet.GenericServlet类;
l 继承javax.servlet.http.HttpServlet类;
2.第一次Servler
2.1新建web project
2.2写一个类 实现Servlet接口,并实现他的5个方法
package com.a_firstServlet;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
* Servlet是单例多线程的
*
* 实现Servelt 的第一种方式:implements Servlet
*
* 生命周期方法 :
* 1.init(ServletConfig arg0)
* 2.service(ServletRequest arg0, ServletResponse arg1)
* 3. destroy()
*
*
* @author ylq
*
*/
public class FirstServlet implements Servlet{
/**
* Servlet初始化:在创建Servlet的时候被调用的方法
* 在服务器启动之后,第一次访问时Servlet由Servlet容器(如:tomcat)生出
*/
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
System.out.println("我出生啦!");
}
/**
* 每次请求都会调用的方法
*/
@Override
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("我被调用啦");
}
/**
*
* 被销毁之前调用的方法,不是调用这个方法消灭Servlet
* Servlet死亡是由Sevlert容器调用
*/
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("我要死了");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
}
2.3在WebRoot/WEB-INF下创建web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<!-- 配置servlet -->
<servlet>
<!-- 配置servlet的名字 -->
<servlet-name>login</servlet-name>
<!-- 这个servlet的全类名 全限定名 -->
<servlet-class>com.a_firstServlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.html</url-pattern>
</servlet-mapping>
</web-app>
2.4将项目部署到服务器,启动服务器
我在启动服务器时遇到的问题:启动失败
原因:tomcat/conf/server.xml 配置出错 之前写了虚拟路径但是没用删除就好了
如果你启动失败,可以查看myeclipse控制台报错信息
2.5在浏览器上输入 localhost:8809/SummerWeb/login.html 即可访问当前Servlet
2.6控制台显示结果:
我出生啦!
我被调用啦
2.7想要调用destroy(),点击服务器 ,stop server,(myeclipse2014)
Myeclipse2018调用destroy还在探索
Servlet基础2 https://blog.csdn.net/qq_42980244/article/details/96870466