1.Servlet【重点!!!】
1.1servlet的简介
servlet===>server applet
java服务器的小程序,是javaweb非常重要的环节。主要作用是完成html和java后台代码的交互(请求《====》响应)
servlet是需要运行在java服务器(Tomcat)中的,符合http协议的
servlet的核心类核心接口
javax.servlet和javax.servlet.http javax.servlet.ServerException javax.servlet.http.HttpServlet javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse javax.servlet.http.Session javax.servlet.http.Cookie
1.2servlet入门案例

创建一个servlet
package com.javacoffee.test1;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//刚创建好这个注释是这样的 @WebServlet(name = "MyTest"),咱们需要把括号里的name= 去掉 在引号第一个加/否则会出现404
@WebServlet("/MyTest")
public class MyTest extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().append("这是我第一个Servlet");
}
}
然后运行,记着运行时候在url后加上这个类的名字

4.3Servlet的三种创建方式【面试会问】
1.使用servlet接口创建的【不用】
init方法【重点】
getServletConfig方法
service方法【重点】
getServletInfo方法
destroy方法
2.GenericServlet这个抽象类【不用】
GenericServlet 是实现了Servlet这个接口,重写了Servlet下面的几乎所有的方法
相比较而言,GenericServlet 比Servlet接口方法少,目的是为了让程序精简版开发
去掉父类里面没有必须要实现的方法,只保留一个核心方法即可!!!让程序减负
service方法
3.使用HttpServlet创建Servlet
HttpServlet 是继承了GenericServlet,抽象类但是没有必须要实现的抽象方法!!!
4.3.1Servlet创建的第一种写法
package com.javacoffee.test2;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/Test2")//注意别忘了加入WebServlet注解,否则无法在服务器运行
public class Test2 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
//使用servletConfig对象初始化咱们servlet的
//执行了,从这个地方可以说明一个问题 Servletlet已经被实例化了
System.out.println("init方法");
}
@Override
public ServletConfig getServletConfig() {
//获取配置信息对象的一个方法
//这个方法没有执行,这个方法没有用!!
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//核心方法,这个里面类似于咱们的doget方法和dopost方法
//这个执行了
System.out.println("service方法");
}
@Override
public String getServletInfo() {
//获取servlet详细信息的一个方法
//没有执行,因为我用不到servlet的核心信息
return null;
}
@Override
public void destroy() {
//在tomacat关闭的时候,进行销毁这个servlet
System.out.println("destroy");
//只有在关闭tomcat服务器的时候才会执行的
}
}
可以在控制台中看到输出这三个结果

4.3.2创建Servlet的第二种方式
package com.javacoffee.test3;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet("/Test3")
public class Test3 extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
servletResponse.setContentType("text/html;charset=utf-8");
servletResponse.getWriter().println("<br><br>张三");
}
}
4.3.3使用httpServlet创建servlet【以后用这个】
package com.javacoffee.test1;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
//刚创建好这个注释是这样的 @WebServlet(name = "MyTest"),咱们需要把括号里的name= 去掉 在引号第一个加/否则会出现404
@WebServlet("/MyTest")
public class MyTest extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.getWriter().append("这是我的Servlet");
}
}
你始终记住一句话,在java中儿子绝对比爹强!!!屡试不爽!!!
要不然咱们搞子类干嘛?HttpServlet 是GenericServlet的儿子, GenericServlet又是Servlet的儿子
所以咱们使用HttpServlet
本文深入解析Servlet的核心概念,包括其作用、servlet接口与实现方式,重点讲解了如何通过HttpServlet创建Servlet并演示了init、service和destroy方法。此外,介绍了Servlet的三种创建方法及其优劣。

5249

被折叠的 条评论
为什么被折叠?



