`

Servlet(二)

 
阅读更多

通过servletCOnfig获取servlet配置的初始化参数

<servlet>
    <servlet-name>ServletDemo4</servlet-name>
    <servlet-class>cn.itcast.web.servlet.ServletDemo4</servlet-class>
    <init-param>  <!-- servletConfig -->
    	<param-name>charset</param-name>
    	<param-value>UTF-8</param-value>
    </init-param>
    <init-param>  <!-- servletConfig -->
    	<param-name>xxx</param-name>
    	<param-value>yyy</param-value>
    </init-param>
</servlet>
ServletConfig config = this.getServletConfig();	
//获取配置的初始化参数的方式1 
//String value = config.getInitParameter("charset");		
Enumeration e = config.getInitParameterNames();
while(e.hasMoreElements()){
	String name = (String) e.nextElement();
	String value = config.getInitParameter(name);
	System.out.println(name + "=" + value);
}

通过servletContexg,获取为web应用配置的初始化参数

<!-- 为web应用设置初始化参数,这些设置的初始化参数可以通过servletContext对象的getInitParameter()方法获取 -->
  <context-param>
  	<param-name>url</param-name>
  	<param-value>jdbc:mysql://localhost:3306/test</param-value>
  </context-param>
  
  <context-param>
  	<param-name>username</param-name>
  	<param-value>root</param-value>
  </context-param>
  
  <context-param>
  	<param-name>password</param-name>
  	<param-value>root</param-value>
  </context-param>
//String value = this.getServletContext().getInitParameter("xxx");
String url = this.getServletContext().getInitParameter("url");
String username = this.getServletContext().getInitParameter("username");
String password = this.getServletContext().getInitParameter("password");

通过servletContext获取文件的mime类型

String filename = "1.jpg";
ServletContext context = this.getServletContext();
System.out.println(context.getMimeType(filename));	
response.setHeader("content-type", "image/jpeg");

获取web.xml文件中配置的web应用的显示名称

<display-name>ProjectName</display-name>
String name = this.getServletContext().getServletContextName();

//设置浏览器的缓存

long expriestime = System.currentTimeMillis() + 1*24*60*60*1000;(one day)
response.setDateHeader("expires", expriestime);
String data = "adsdfsdfsdfsdfdsf";
response.getWriter().write(data);

 --------------------------------------------------------------------------------

用servletContext读取web工程不同位置的资源文件

url=jdbc:mysql://localhost:3306/test
username=root
password=root
//读取配置文件的第一种方式		
ServletContext context = this.getServletContext();
InputStream in = context.getResourceAsStream("/db.properties");	
Properties prop = new Properties();  //map
prop.load(in);				
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//读取配置文件的第二种方式
ServletContext context = this.getServletContext();
String realpath = context.getRealPath("/db.properties"); 
//获取到操作文件名  
String filename = realpath.substring(realpath.lastIndexOf("\\")+1);
System.out.println("当前读到的文件是:" + filename);
FileInputStream in = new FileInputStream(realpath);
Properties prop = new Properties();
prop.load(in);	
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//读取配置文件的第三种方式
ServletContext context = this.getServletContext();
URL url = context.getResource("/resource/db.properties");
InputStream in = url.openStream();
Properties prop = new Properties();
prop.load(in);	
String urlStr = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//读取src下面的配置文件
InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
Properties prop = new Properties();  //map
prop.load(in);				
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");

 在web工程的普通java程序中如何读取资源文件

ClassLoader loader = StudentDao.class.getClassLoader();
URL url = loader.getResource("com/dao/db.properties");
String filepath = url.getPath();
FileInputStream in = new FileInputStream(filepath);
Properties prop = new Properties();  //map
prop.load(in);	
String dburl = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
 

 

 

 

 

分享到:
评论

相关推荐

    实验6 Servlet 二1

    多个Servlet对象共享数据新建两个不同的Servlet,在一个Servlet中通过ServletContext.setAttribute()设置一个全局属性

    Servlet项目实践 实现学生信息系统的全部代码

    二、Servlet的运行过程 Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:  ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。 ...

    jquery + servlet实现省市联动二级菜单

    本话题聚焦于“jquery + servlet实现省市联动二级菜单”这一技术实践,这是一个常见的前端与后端协同工作的场景,主要用于提升用户体验,使得用户在选择省份时,市一级的下拉菜单能实时更新为相应省份的城市。...

    基于Servlet房屋租赁管理信息系统(含前后台)(Java+Servlet+jsp+mysql)

    后端:servlet 二、主要功能有: 系统分为两种角色:管理员、普通用户 主要功能有: 1、前台: 会员登录、立即注册 忘记密码功能:可以通过回答问题,找回登录密码 首 页 新闻中心 出租信息 求租信息 出售信息 ...

    servlet笔记,servlet的总结

    #### 二、Servlet与HTTP协议 Servlet的设计紧密围绕HTTP协议,其处理过程主要涉及HTTP请求和响应。当客户端向服务器发送HTTP请求时,服务器上的Servlet容器会根据请求URL映射到相应的Servlet类,然后创建或使用已...

    Servlet与JSP核心编程(第二版)

    《Servlet与JSP核心编程(第二版)》是一本针对Java Web开发的权威指南,主要聚焦于Servlet和JSP这两个核心技术。Servlet是Java平台上的服务器端组件,用于处理HTTP请求,而JSP(JavaServer Pages)则是一种动态网页...

    servlet 笔记

    #### 二、Servlet的工作原理 Servlet的工作流程主要包括以下几个步骤: 1. **加载和实例化**:当Servlet容器(通常是Web服务器)接收到客户端的请求时,如果发现该请求与某个Servlet相关联,则会加载并实例化该...

    jakarta-servletapi-4-src.zip servlet源码

    二、Servlet容器与DispatcherServlet Servlet容器,如Tomcat、Jetty等,负责管理和运行Servlet。它们根据web.xml或注解配置加载Servlet,并通过DispatcherServlet进行请求分发。DispatcherServlet是Spring MVC的核心...

    Servlet与JSP核心编程第二版5

    ### Servlet与JSP核心编程第二版5:关键技术与实践解析 #### 一、Servlet概述与核心技术 ##### 1.1 Servlet简介 Servlet 是 Java 平台的一种服务器端技术,用于扩展应用程序的功能。它是一个轻量级的应用程序组件...

    Servlet基础知识总结

    #### 二、Servlet的运行过程 Servlet的运行过程主要包括以下几个步骤: 1. **客户端发起HTTP请求**:客户端通过浏览器或其他工具向服务器发送HTTP请求。 2. **Web容器接收请求**:服务器上的Web容器接收到这个请求...

    Servlet与JSP核心编程第二版

    Servlet与JSP核心编程第二版 PDF文件 高清,内容通俗易懂.

    Servlet-Servlet生命周期

    #### 二、Servlet基本概念 Servlet是一种Java类,用于扩展服务器的功能。它是基于Java Servlet API(通常作为Java EE的一部分提供)编写的,并且能够响应HTTP请求,这些请求通常来自Web浏览器等客户端。Servlet可以...

    Servlet

    二、Servlet生命周期 1. 加载与实例化:当服务器启动或首次接收到对Servlet的请求时,会加载Servlet类并创建其实例。 2. 初始化:创建实例后,服务器调用`init()`方法进行初始化,通常在这里进行配置文件读取、...

    Servlet3.1规范(最终版)

    二、WebSocket支持 Servlet3.1规范引入了对WebSocket协议的支持,这是对HTTP协议的补充,用于提供全双工、低延迟的通信方式。WebSocket API允许开发者创建持久连接,实现双向通信,非常适合实时应用,如聊天室、在线...

    Servlet实验报告.pdf

    二、实验仪器或设备 1. 计算机一台 2. MyEclipse 软件 三、总体设计 A: 设计原理: 1. servlet 相当于 MVC 模式中的 C 控制器。 2. 作为服务器或监听程序并响应客户请求。 3. 后台业务逻辑处理,对后台数据的...

    servlet 心的练习

    二、Servlet生命周期 Servlet的生命周期包括加载、初始化、服务、销毁四个阶段: 1. 加载:当服务器启动或第一次接收到对Servlet的请求时,会加载Servlet类并创建一个Servlet实例。 2. 初始化:加载后,Servlet实例...

    Servlet+API+中文版

    #### 二、Servlet配置 - **ServletConfig对象**:由容器提供给Servlet的配置信息。通过`ServletConfig`可以获取初始化参数、Servlet名称以及整个Web应用的配置信息。 - `String getInitParameter(String name)`:...

    servlet-api 各种版本

    - 发布于1999年,是Servlet规范的第二个主要版本。 - 引入了HttpServletRequest和HttpServletResponse接口,以支持HTTP协议的特性,如请求头和响应状态码。 - 提供了RequestDispatcher接口,用于请求转发和包含,...

    servlet技术初步入门

    二、Servlet工作流程 1. 客户端发起HTTP请求到服务器。 2. 服务器接收到请求后,通过Servlet容器查找对应的Servlet实例。 3. 如果Servlet尚未初始化,容器会创建Servlet实例并调用init()方法进行初始化。 4. 容器将...

    servlet3.0与mybatis整合的示例

    二、MyBatis简介 MyBatis是一个基于Java的持久层框架,它简化了JDBC代码,提供了SQL映射功能,允许开发者编写灵活的SQL查询。MyBatis通过XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Old Java ...

Global site tag (gtag.js) - Google Analytics