概述
servlet就相当于一个java小程序,其作用主要是为了接收并响应客户端的请求
入门
1、新建工程并新建个类
2、重写servlet的方法(重要的是service方法)
3、部署工程
a.在web.xml文件中配置servlet
b.在web.xml文件中对声明的servlet进行映射
4、发布应用并启动服务器
5、访问(利用映射的虚拟路径进行访问)
public class HelloServlet implements Servlet {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("hello");
}
}
//web.xml配置
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
hello
cn.itcast_01.HelloServlet
hello
/hello
index.jsp
配置tomacat服务器
发布servlet项目
启动tomcat 访问默认localhost:8080/web context-root/hello(web.xml中配置的虚拟路径)这样就可以进行访问了
执行原理
localhost:8080/web context-root/hello (根据这个路径来讲解)
1、输入地址以后会先在web.xml文件中去找 映射 然后匹配url-pattern的配置
2、匹配成功以后去匹配映射配置的逻辑名称
3、逻辑名称匹配成功以后 会去找相应的servlet-class(内部会创建一个servlet对象 最终会执行对象中的service方法)
4、servlet-class匹配成功以后就会执行我们新建类中的service方法最后 在控制台中输出hello(先调用init 后调用service方法)
生命周期
1、初始化 (当浏览器发送请求就会创建一个《只创建一次》servlet对象,并且只执行一次init)
2、活着 (每次请求一次执行一次service方法)
3、销毁(服务器正常关闭 执行destroy)
请求转发特点
1、一次请求一次响应(处在同一个请求中)
2、地址栏不会发生变化
3、只能转发到本应用的内部资源,不能转发到其他web应用
原理图:
重定向的特点
1、二次请求二次响应
2、地址栏会发生变化
3、可以重定向到本应用资源,也可以重定向到其他web应用
原理图:
一般web编程主要继承HttpServlet类就可以了 其原理图如下: