网站子目录怎么做反向代理设置wordpress字体大小
网站子目录怎么做反向代理设置,wordpress字体大小,企业网站源码wap,建筑网站图纸文章目录 Servlet概述快速入门Servlet 中方法的生命周期Servlet 的体系结构GenericServletHttpServlet Servlet 3.0以后Servlet 相关配置 案例Servlet xml配置web.xmlMyServlet Servlet 注解配置 Servlet
概述 Servlet applet 运行在服务器端的小程序#xff0c;Servlet 就是… 文章目录 Servlet概述快速入门Servlet 中方法的生命周期Servlet 的体系结构GenericServletHttpServlet Servlet 3.0以后Servlet 相关配置 案例Servlet xml配置web.xmlMyServlet Servlet 注解配置 Servlet
概述 Servlet applet 运行在服务器端的小程序Servlet 就是一个接口定义了 Java 类被浏览器访问到的规则(Tomcat能识别)我们自定义一个类实现 Servlet 接口复写接口中的方法。 访问流程
快速入门 创建 JavaEE 项目 定义一个类实现 Servlet 接口 实现接口中的抽象方法 配置 Servlet(web.xml) 将类映射成 url !--配置Servlet --
servletservlet-namedemo/servlet-nameservlet-classcn.heng.web.servlet.ServletDemo/servlet-class
/servletservlet-mappingservlet-namedemo/servlet-nameurl-pattern/demo/url-pattern
/servlet-mapping执行原理 当服务器接受到客户端浏览器的请求后会解析请求的 URL 路径获取访问的 Servlet 的资源路径查找 web.xml 文件是否有对应的 标签体内容有的话则找到对应的 全类名Tomcat 会将字节码文件加载进内存中并且创建其对象调用其方法
Servlet 中方法的生命周期
被创建执行 init 方法只执行一次 Servlet 什么时候被创建 默认情况下第一次被访问时Servlet 被创建(也可配置执行Servlet的创建时机)第一次被访问时创建 的值为负数在服务器启动时创建 的值为 0 或 正整数 Servlet 的 init 方法只执行一次 说明一个 Servlet 在内存中 只存在一个对象Servlet 是单例的多个用户同时访问时可能存在线程安全问题尽量不要在 Servlet 中定义成员变量即使定义了成员变量也不要修改值 提供服务执行 service 方法执行多次 每次访问 Servlet 时service 方法都会被调用一次 被销毁执行 destroy 方法只执行一次 Servlet 被销毁时执行服务器关闭时Servlet 被销毁只有服务器正常关闭时才会执行 destroy 方法destroy 方法在 Servlet 被销毁之前执行一般用于释放资源
Servlet 的体系结构
Servlet – 接口GenericServlet – 抽象类HttpServlet – 抽象类
GenericServlet
概述将 Servlet 接口中其他的方法做了 默认空实现只将 service() 方法作为抽象使用将来定义Servlet类时可以继承GenericServlet实现service()方法即可
HttpServlet 概述对http协议的一种封装简化操作 实现过程
Servlet 3.0以后 好处支持注解配置可以不需要 web.xml 使用步骤 创建 Java EE 项目选择 Servlet的版本3.0以上可以不创建 web.xml定义一个类实现 Servlet 接口复写方法在类上使用 WebServlet(“资源路径”) 注解进行配置 示例代码 Target({ElementType.TYPE})
Retention(RetentionPolicy.RUNTIME)
Documented
public interface WebServlet {String name() default ;//相当于Servlet-nameString[] value() default {};//代表urlPatterns()属性配置 value只有一个可以省略String[] urlPatterns() default {};//相当于url-patternint loadOnStartup() default -1;//相当于load-on-startupWebInitParam[] initParams() default {};boolean asyncSupported() default false;String smallIcon() default ;String largeIcon() default ;String description() default ;String displayName() default ;
}Servlet 相关配置
urlpartten:Servlet访问路径 一个Servlet可以定义多个访问路径 WebServlet({“/d4”,“/dd4”,“/ddd4”})路径定义规则 /xxx路径匹配/xxx/xxx多层路径目录结构*.do扩展名匹配
案例
Servlet xml配置
web.xml
?xml version1.0 encodingUTF-8?
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion3.1!--配置名称和全类名--servletservlet-namedemo1/servlet-nameservlet-classcn.heng.web.MyServlet/servlet-class!--指定 Servlet 的创建时机1、第一次被访问时创建load-on-startup 为 负数2、在服务器启动时创建load-on-startup 为 0 或正整数--load-on-startup/load-on-startup/servlet!--配置路径--servlet-mappingservlet-namedemo1/servlet-nameurl-pattern/test/url-pattern/servlet-mapping
/web-appMyServlet
import javax.servlet.*;
import java.io.IOException;public class MyServlet implements Servlet {/*** 初始化方法* 在 Servlet 被创建时执行。只会执行一次* param servletConfig* throws ServletException*/Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println(init...);}/*** 获取 ServletConfig 对象* ServletConfig : Servlet的配置对象* 我们需要自己实现* return*/Overridepublic ServletConfig getServletConfig() {return null;}/*** 提供服务的方法* 每一次 Servlet 被访问时执行。执行多次* param servletRequest* param servletResponse* throws ServletException* throws IOException*/Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(Servlet....);}/*** 获取 Servlet 的一些信息* 版本、作者等* 一般不实现* return*/Overridepublic String getServletInfo() {return null;}/*** 销毁方法* 在服务器正常关闭的时候执行。执行一次*/Overridepublic void destroy() {System.out.println(destroy....);}
}Servlet 注解配置
类实现 Servlet 复写所有方法加上 WebServlet(“url”);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90387.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!