Servlet 开发

1. Servlet  (很久远的东西,但是现在学习原理)

  html + css + js 前端页面(静态的)

  form action = ".html"

  

  Servlet  允许将action属性设置为映射,通过映射找到相关的Servlet  class 进行数据的处理。

2.服务器容器,服务器中间件

  apache tomcat 7

  weblogic

3.搭建Servlet开发环境  

  startup.bat : 启动tomcat服务

  sgutdown.bat : 关闭tomcat服务

  配置tomcat环境变量让cmd命令行可以直接运行这些批处理文件。

  CATALINA_HOME: D:apache-tomcat-7.0.67apache-tomcat-7.0.67
  PATH: %CATALINA_HOME%/bin;%CATALINA_HOME%/lib;

4.javaEE的项目要符合JavaEE的标准。

  1、 JavaEE App 要放在tomcat下的webapps 这个目录下面。

  2、编译后的。class文件,html文档,图片,视频......

  3、在webapps下面部署的项目必须要有WEB-INF这样一个目录

  4、javaee app 需要一个独有的web.xml对其进行设置。

5.使用tomcat容器部署一个html文档的步骤:

  1、新建webapps(文件夹_test)

  2、在test目录下 新建WEB_INF文件夹

  3、在WEB_INF下面新建web.xml配置文件

  4、将web.xml配置成webapps的配置文件(拷贝tomcat实例程序下面的文件头)

  5、将html放入到webapps目录下。

  6、解释:

    index 页面的路径:

      tomcat/webapps/test/index.html

      使用浏览器访问时,要通过http://localhost:8080/test/index.html来访问html文档。

      http://localhost:8080 相当于tomcat/webapps这个目录。

6.创建Servlet类

  1、继承HttpServlet抽象类。

  2、重写HttpServlet的doGet() 或者 doPost()

  3、复制servlet类的class文件到tomcat/webapps/项目名/classes/
  4、配置servlet.class(web.xml)

<?xml version="1.0" encoding="ISO-8859-1"?>


<web-app 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"
  version="3.0"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

  <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>TestServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
</web-app>

  5、 使用shutdown、startup重启tomcat服务器。

  6、 通过http://ip:port/project_name/url-pattern  访问servlet

7.  HttpServletRequest extends ServletRequest request : 请求
  HttpServletResponse extends ServletResponse response : 响应

8.  servlet的生命周期:

  (1.在用户请求Servlet程序时,调用Servlet类的构造方法创建一个对象。

   2.对象创建之后调用init() 对该对象进行初始化。

   3.调用service方法进行对请求的处理以及对客户端的响应。

     4.当web服务器关闭时,调用Servlet的destory()方法。销毁该对象。)

  注:

  Servlet对象被创建时调用构造方法和init方法,这两个方法执行一次,Servlet是单利的程序。

  Servlet可以设计多例,只不过不常用。

   服务器启动时(web.xml中配置load-on-startup=1,默认为0)或者第一次请求该servlet时,就会初始化一个Servlet对象,也就是会执行初始化方法init(ServletConfig conf)

   该servlet对象去处理所有客户端请求,在service(ServletRequest req,ServletResponse res)方法中执行

     最后服务器关闭时,才会销毁这个servlet对象,执行destroy()方法。

9.servlet 运行过程

  1、客户端的请求 http:......

  2、请求到服务器端找到的servlet容器(tomcat)

  3、在tomact目录下的webapps文件夹下面找到符合JavaEE规定的目录(项目)。

  4、在web项目当中优先找到配置文件,通过url-pattern属性配置的地址,匹配servlet-name 与该映射名称相同的<servlet>标签

  5、<servlet>标签配置的是servlet程序的class文件

  6、使用servlet中的doGet或doPost(service方法配置)方法执行请求的处理。

原文地址:https://www.cnblogs.com/xuewuzhijing95hao/p/7263996.html