JavaWeb入门一之Servlet-创新互联

一、Servlet 一、前置知识

HTTP请求、响应报文格式:

成都创新互联主营蒙阴网站建设的网络公司,主营网站建设方案,重庆APP软件开发,蒙阴h5成都小程序开发搭建,蒙阴网站营销推广欢迎蒙阴等地区企业咨询

请求行、请求头、空行、请求体

状态行、响应头、空行、响应体

在这里插入图片描述

二、Servlet介绍
  1. 接口类Servlet
  2. 抽象类GenericServlet(继承接口类Servlet)
  3. 实现类HttpServlet(继承抽象类GenericServlet),专门用于创建HTTP协议的Servlet
三、实现方式
  • 新建Maven项目,在pom.xml中加上war,打开项目结构,找到Facets,选中项目后,在其中的Web资源目录点击加号生成webapp目录,再其中的部署描述器点击加号生成WEB-INF和在其里面的web.xml,移动WEB-INF至webapp即可。

  • 目录结构
        src	
        	main|
        		|java
        		|webapp|
        			   |WEB-INF|
        					   |web.xml
        pom.xml
  •   	javax.servletjavax.servlet-api4.0.1jakarta.servletjakarta.servlet-api5.0.0mysqlmysql-connector-java8.0.30 commons-beanutilscommons-beanutils1.9.4jstljstl1.2taglibsstandard1.1.2org.glassfish.webjakarta.servlet.jsp.jstl2.0.0
一、 注解 一、Servlet
  1. 定义一个普通类实现接口类javax.servlet.Servlet,并重写五个抽象方法
  2. 使用@WebServlet注解,配置访问路径@WebServlet(“/demo1”)
  3. 访问http://localhost:8080/demo1
二、HttpServlet
  1. 定义一个普通类继承实现类javax.servlet.http.HttpServlet,按需重写doGet和doPost方法,还有其他的
  2. 使用@WebServlet注解,配置访问路径@WebServlet(“/demo2”)
  3. doGet()和doPost()逻辑差不多,可以将doPost()处理个别Post独有逻辑然后转去doGet()
  4. 访问http://localhost:8080/demo2
二、XML 一、Servlet
  1. 定义一个普通类实现接口类javax.servlet.Servlet,重写所有方法

  2. 在web.xml中填写标签

  3. demo4com.miao.Web.Servlet.ServletDemo4demo4/demo4
二、HttpServlet
  1. 定义一个普通类继承实现类javax.servlet.http.HttpServlet,重写doGet和doPost方法

  2. 在web.xml中填写标签

  3. demo4com.miao.Web.Servlet.ServletDemo4demo4/demo4
四、Servlet生命周期
  • 自上而下调用
  1. 加载和实例化Serlvet对象,只调用一次
  2. init初始化:初始化,加载配置文件、连接。默认是第一次访问该url时才调用且只调用一次;loadOnStartup为0或者正整数时,服务器创建时就调用且只有一次:@WebServlet(urlpatterns = “/demo1”, loadOnStartup = 1)
  3. getServletConfig:获取ServletConfig对象()
  4. service:处理请求,可调用多次
  5. getServletInfo:获取Servlet信息(作者、版本和版权等,不常用)
  6. destroy:释放资源,只调用一次。内存释放/服务器关闭时调用且只有一次
五、配置urlpatterns 1. 多个目录匹配
  1. @WebServlet(urlPatterns = {“/demo1”, “/demo2”}),XML中则是直接写出多个
2. 精确匹配
  1. @WebServlet(“/user/list”),优先级更高
3. 目录匹配
  1. @WebServlet(“/user/*”)
4. 扩展名匹配
  1. @WebServlet(“*.html”),前面不能加’/’
5. 任意匹配(不建议使用)
  1. @WebServlet(“/”);@WebServlet(“/*”),使用前者则会覆盖tomcat自带的DefaultServlet(用于静态资源访问!将访问不到html文件!)
六、ServletConfig和ServletContext
xxxxxxencodingUTF-8ServletConfig config = this.getSerlvetConfig();
String value = config.getInitParameter("encoding")  // UTF-8。获取参数名为encoding的参数值
encodingUTF-8SerlvetContext context = this.getServletContext();
Enumerationvalues = context.getInitParameterNames();  // 获取所有参数名
while (values.hasMoreElements) {
    String name = values.nextElement();  // 只有一个encoding
    String value = context.getInitParameter(name);  // UTF-8。获取参数名为encoding的参数值
    }

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:JavaWeb入门一之Servlet-创新互联
URL网址:http://ybzwz.com/article/cdoede.html