javaWEB学习日记day04

复习:

Tomcat服务器

web应用的目录结构:

|-静态资源

|-WEB-INF(客户端不可见)

|-web.xml: 应用相关配置 - Servlet

|-classes: java编译后的字节码文件

|-lib: jar包

Servlet:

HttpServlet:doGet/doPost

Servlet的配置:

1.使用注解 - 常用 @WebServlet("资源路径")

2.在web.xml文件中进行配置

<servlet>

<servlet-name>自定义

<servlet-class>Servlet的全限定类名

<servlet-mapping>

<servlet-name>必须和servlet标签中一样

<url-pattern>/自定义资路径

Servlet对象:

默认:第一次接收请求的时候

<load-on-startup>

request对象: 一次请求

response对象: 一次请求

____________________________________________

一、Servlet:

1.概念

2.执行步骤

3.执行原理

4.生命周期

5.Servlet相关配置

1).web.xml配置相关

* 完全匹配 -只能通过具体的资源名 来访问这个资源

<url-pattern>/demo01</url-pattern>

* 目录匹配,可以使用通配符 *

<url-pattern>/*</url-pattern>

* 后缀匹配

<url-pattern>*.do</url-pattern>

* 特殊的匹配: / 所有的资源

<url-pattern>/</url-pattern>

2).注解配置Servlet

2.5 和 2.5以上的版本,只有2.5以上的版本才支持注解的配置

在类上使用@WebServlet()

* @WebServlet(urlPatterns="资源地址")

* @WebServlet(value="资源地址")

* @WebServlet("资源地址")

@WebServlet 原码

public @interface WebServlet {

String name() default "";

* 相当于是<servlet-name>

String[] value() default {};

* 代表urlPatterns的属性配置

String[] urlPatterns() default {};

* 相当于<url-pattern>

int loadOnStartup() default -1;

* 相当于<load-on-startup>

WebInitParam[] initParams() default {};

boolean asyncSupported() default false;

String smallIcon() default "";

String largeIcon() default "";

String description() default "";

String displayName() default "";

}

__________________________________________

二、注解:

* 写法:@xx

* 关键词: @interface

* 常见注解:

@Deprecated - 过时的,过期的

@Override - 重写

@SuppressWarnings() - 压制警告

@SuppressWarnings("rawtypes")

@SuppressWarnings("unused")

@SuppressWarnings({"rawtypes","unused"})

@SuppressWarnings("all")

* 注解属性:

* 写法: 类型 属性名() [default]

* 属性如果有default则可以不用添加参数

* 属性如果没有添加fefault则需要传参

* 注意事项:

* 属性没有设定默认值,就必须传参

* 只有当传入的属性只有一个,并且是value时

那么属性名可以省略

* 属性类型是数组是,只有一个值,可以不使用{}

如果是有多个值,就必须添加{}

* 注解的作用:

在一定程度上可以取代xml配置文件

___________________________________________

三、ServletConfig对象和 ServletContext对象

1.ServletConfig对象

* 作用:

1).获取当前Servlet的名字

2).获取servlet的初始化参数

3).获取ServletContext对象

2.ServletContext对象

1).获取方式

* config.getServletContext()

* request.getServletContext()

* this.getServletContext()

* this 表示HttpServlet

2)特点:

在整个应用中,只有一个ServletContext对象,所有的servlet资源和所有的客户端都可以共享

3).生命周期:

创建: 服务器启动时创建

销毁: 服务器关闭销毁

4).作用:

a.获取应用路径名称

b.获取应用的初始化参数

在web.xml文件添加配置

<!--设置应用的初始化参数-->

<context-param>

<param-name>configPath</param-name>

<param-value>

classes:config.properties

</param-value>

</context-param>

c.获取应用中资源的绝对路径

* src/a.txt

* web/b.txt

* WEB-INF/c.txt

* 工程下/d.txt

d.存取数据

* 存储所有客户端共享的数据

* 例如: 网站的访问量,文章的阅读量..

* 域对象: 存数据,取数据 有范围的对象

* 存储: ServletContext域对象以map进行存储

* ServletContext域的范围:

* 参照生命周期

* 应用[服务器]运行期间,所有客户端和所有资源共享

* API:

* setAttribute(name,value)

* getAttribute(name,value)

* removeAttribute(name,value)

name-String value-Object

上一篇:9.14JavaWeb之@WebServlet注解


下一篇:解决idea导入Java文件时,webservlet报错问题