如何使用servlet中的ServletContext

如何使用servlet中的ServletContext,第1张

1.通过ServletContext可以访问应用范围的初始化参数和属性

1).初始化参数

在web.xml中配置初始化参数:

email

jiruan03_2yangfei@163.com

从Servlet中访问初始化参数:

ServletContext application=this.getServletContext()

out.println("send us your

out.println(application.getInitParameter("email"))

out.println("'>email")

2).属性

可以通过编程的方式绑定,也可以作为web应用的全局变量被所有Servlet和JSPs访问

设置Context属性:

ServletContext application=this.getServletContext()

application.setAttribute("person1",new Person("Jim"))

application.setAttribute("person2",new Person("Green"))

获取Context属性:

ServletContext application=this.getServletContext()

Enumberation persons=application.getAttributeNames()

while(persons.hasMoreElements()){

String name=(String)persons.nextElement()

Person p=(Person)persons.getAttribute(name)

application.removeAttribute(name)

}

2.通过ServletContext可以访问web应用的静态资源

使用ServletContext接口可以直接访问web应用中的静态内容文档结构.包括HTML,GIF和JPEG文件。如以下方法:

.getResource

.getResourceAsStream

这两个方法的参数都是以"/"开头的字符串,表示资源相对于context根的相对路径.文档结构可以存在于服务器文件系统,

或是war包中,或是在远程服务器上,抑或其他位置.不可以用来获得动态资源,比如,getResource("/index.jsp"),

这个方法将返回该jsp文件的源码,而不是动态页面.可以用"Dispatching Requests"获得动态内容.

列出web应用中可被访问的资源,可以使用getResourcePaths(String path)方法。

3.通过ServletContext可以跨多个请求,用户和Servlets

web服务器支持在一台机器上共享一个IP的多个逻辑主机,这种能力被称为"虚拟主机",

每个逻辑主机都拥有它自己的servlet context。

servlet context不能跨虚拟主机共享.

server.address

指定server绑定的地址

server.compression.enabled

是否开启压缩,默认为false.

server.compression.excluded-user-agents

指定不压缩的user-agent,多个以逗号分隔,默认值为:text/html,text/xml,text/plain,text/css

server.compression.mime-types

指定要压缩的MIME type,多个以逗号分隔.

server.compression.min-response-size

执行压缩的阈值,默认为2048

server.context-parameters.[param name]

设置servlet context 参数

server.context-path

设定应用的context-path.

server.display-name

设定应用的展示名称,默认: application

server.jsp-servlet.class-name

设定编译JSP用的servlet,默认: org.apache.jasper

.servlet.JspServlet)

server.jsp-servlet.init-parameters.[param name]

设置JSP servlet 初始化参数.

server.jsp-servlet.registered

设定JSP servlet是否注册到内嵌的servlet容器,默认true

server.port

设定http监听端口

server.servlet-path

设定dispatcher servlet的监听路径,默认为: /

cookie、session配置

server.session.cookie.comment

指定session cookie的comment

server.session.cookie.domain

指定session cookie的domain

server.session.cookie.http-only

是否开启HttpOnly.

server.session.cookie.max-age

设定session cookie的最大age.

server.session.cookie.name

设定Session cookie 的名称.

server.session.cookie.path

设定session cookie的路径.

server.session.cookie.secure

设定session cookie的“Secure” flag.

server.session.persistent

重启时是否持久化session,默认false

server.session.timeout

session的超时时间

server.session.tracking-modes

设定Session的追踪模式(cookie, url, ssl).

server.ssl.ciphers

是否支持SSL ciphers.

server.ssl.client-auth

设定client authentication是wanted 还是 needed.

server.ssl.enabled

是否开启ssl,默认: true

server.ssl.key-alias

设定key store中key的别名.

server.ssl.key-password

访问key store中key的密码.

server.ssl.key-store

设定持有SSL certificate的key store的路径,通常是一个.jks文件.

server.ssl.key-store-password

设定访问key store的密码.

server.ssl.key-store-provider

设定key store的提供者.

server.ssl.key-store-type

设定key store的类型.

server.ssl.protocol

使用的SSL协议,默认: TLS

server.ssl.trust-store

持有SSL certificates的Trust store.

server.ssl.trust-store-password

访问trust store的密码.

server.ssl.trust-store-provider

设定trust store的提供者.

server.ssl.trust-store-type

指定trust store的类型.

server.tomcat.access-log-enabled

是否开启access log ,默认: false)

server.tomcat.access-log-pattern

设定access logs的格式,默认: common

server.tomcat.accesslog.directory

设定log的目录,默认: logs

server.tomcat.accesslog.enabled

是否开启access log,默认: false

server.tomcat.accesslog.pattern

设定access logs的格式,默认: common

server.tomcat.accesslog.prefix

设定Log 文件的前缀,默认: access_log

server.tomcat.accesslog.suffix

设定Log 文件的后缀,默认: .log

server.tomcat.background-processor-delay

后台线程方法的Delay大小: 30

server.tomcat.basedir

设定Tomcat的base 目录,如果没有指定则使用临时目录.

server.tomcat.internal-proxies

设定信任的正则表达式,默认:“10\.\d{1,3}\.\d{1,3}\.\d{1,3}| 192\.168\.\d{1,3}\.\d{1,3}| 169\.254\.\d{1,3}\.\d{1,3}| 127\.\d{1,3}\.\d{1,3}\.\d{1,3}| 172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}| 172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}”

server.tomcat.max-http-header-size

设定http header的最小值,默认: 0

server.tomcat.max-threads

设定tomcat的最大工作线程数,默认为: 0

server.tomcat.port-header

设定http header使用的,用来覆盖原来port的value.

server.tomcat.protocol-header

设定Header包含的协议,通常是 X-Forwarded-Proto,如果remoteIpHeader有值,则将设置为RemoteIpValve.

server.tomcat.protocol-header-https-value

设定使用SSL的header的值,默认https.

server.tomcat.remote-ip-header

设定remote IP的header,如果remoteIpHeader有值,则设置为RemoteIpValve

server.tomcat.uri-encoding

设定URI的解码字符集.

server.undertow.access-log-dir

设定Undertow access log 的目录,默认: logs

server.undertow.access-log-enabled

是否开启access log,默认: false

server.undertow.access-log-pattern

设定access logs的格式,默认: common

server.undertow.accesslog.dir

设定access log 的目录.

server.undertow.buffer-size

设定buffer的大小.

server.undertow.buffers-per-region

设定每个region的buffer数

server.undertow.direct-buffers

设定堆外内存

server.undertow.io-threads

设定I/O线程数.

server.undertow.worker-threads

设定工作线程数


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11203702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存