Servlert项目部署到服务器,web初学之serverlet开发综述(一)

servletContext的作用: 获取全局的初始化参数(在项目里面的所有的servlet里面都可以得到参数)

ServletContext servletContext = servletConfig.getServletContext();

String username = servletContext.getInitParameter("username");

ServletContext servletContext = servletConfig.getServletContext();

// 获取所有的全局初始化参数的名称

Enumeration initParameterNames = servletContext.getInitParameterNames();

while (initParameterNames.hasMoreElements()) {

// 获取初始化参数名称

String name = (String) initParameterNames.nextElement();

// 获取对应的值

String values = servletContext.getInitParameter(name);

}

第二个用途:servletContext对象也称为域对象,在一定的范围内,可以存值和取值

在启动tomcat服务器的时候,在服务器里面可能有多个项目,服务器会为每个项目创建一个servletContext对象,servletContext对象可以存值和取值

通过servlet1向servletContext里面设置一个值,在这个项目里面的所有的servlet里面都可以得到servlet1设置的那个值。

* 存值  setAttribute(String name, Object object)

第一个参数:名称

第二个参数:具体的值

* 取值  getAttribute(String name)

第一个参数:名称

servletContext对象的第三个用途读取web项目中的文件

读取ser目录下的文件

27abb969a9f26b26757fe1b18b382c57.png

public class HttpServerletDemo extends HttpServlet {

@Override

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

ServletContext servletContext = getServletContext();

/*

* 在getResourceAsStream(String path)里面path写法固定 首先第一个位置 写 /: 理解为代表项目的名称;

* 在/后面写文件在tomcat里面的具体的路径

*/

InputStream in = servletContext.getResourceAsStream("/WEB-INF/classes/db.properties");

int len =0;

while ((len = in.read())!=-1) {

System.out.print((char)len);

}

将项目布到tomcat上 并运行

940e426d7c6f3f416b6c73a42aa358e6.png

读取包下面的文件

8ad64b2ea82e30e478d5aabff1c782d8.png

public class HttpServerletDemo extends HttpServlet {

@Override

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

ServletContext servletContext = getServletContext();

/*

* 在getResourceAsStream(String path)里面path写法固定 首先第一个位置 写 /: 理解为代表项目的名称;

* 在/后面写文件在tomcat里面的具体的路径

*/

InputStream in = servletContext.getResourceAsStream("/WEB-INF/classes/com/android/longs/db1.properties");

int len =0;

while ((len = in.read())!=-1) {

System.out.print((char)len);

}

}

访问运行

0eb942cba2d5a92621e33b550bdf3aa0.png

读取webroot下面的文件

0380eaa89e8eb9cc37935cdd8caaae14.png

public class HttpServerletDemo extends HttpServlet {

@Override

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// 得到servletContext对象

ServletContext context = getServletContext();

// 使用getRealPath(String path)

// 首先第一个位置 /,后面写文件在tomcat里面的具体的路径

String path = context.getRealPath("/db2.properties");

System.out.println(path);

Properties p = new Properties();

// 得到输入流

InputStream in = new FileInputStream(path);

p.load(in);

String url = p.getProperty("url");

String username = p.getProperty("username");

String password = p.getProperty("password");

System.out.println("url is "+url);

System.out.println("username is "+username);

System.out.println("password is "+password);

}

}

访问运行

e92c5b04f5cdbecfe7fd31a6e6b7c6f0.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值