Servlet之上下文参数,上下文的磁盘位置

1. web.xml中,上下文(全局)参数的使用。 2. HTML中,使两个div在同一行中显示。


前言

开发环境Eclipse EE 2020, Dynamic Web Project


一、web.xml

其中定义了两个上下参数: upload folder, allowed file type。 :

代码如下:

	<context-param>
		<param-name>upload folder</param-name>
		<param-value>attachment</param-value>
	</context-param>
	<context-param>
		<param-name>allowed file type</param-name>
		<param-value>.gif,.jpg,.bmp</param-value>
	</context-param>
	<servlet>
		<servlet-name>contextParamServlet</servlet-name>
		<servlet-class>ContextParamServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>contextParamServlet</servlet-name>
		<url-pattern>/contextParamServlet</url-pattern>
	</servlet-mapping>

二、类图与CSS文件

在这里插入图片描述

该工程只有一个类: ContextParamServlet,其输出了Html文档。
该html中引用了: css/style.css文件。
style.css:

.line {
	margin: 2px;
}

.leftDiv {
	width: 110px;    
	float: left;         <!--第一个div靠左后,则第二个div就可以和它在同一行出现。-->
	height: 22px;
	line-height: 22px;
	font-weight: bold;
}

.rightDiv {
	height: 22px;
	line-height: 22px;
}
public class ContextParamServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
		response.setCharacterEncoding("UTF-8");
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \" - //W3C//DTD HTML 4.0.1//EN\">");
		out.println("<HTML>");
		out.println(" <HEAD><TITLE>读取上下文参数</TITLE></HEAD>");
		out.println("<link rel = 'stylesheet' type = 'text/css' href = 'css/style.css'>");
		out.println(" <BODY>");
		out.println("<div align = 'center'><br/>");
		out.println("<fieldset style = 'width:90%'><legend>所有的文档参数</legend><br/>");
		ServletContext servletContext = getServletConfig().getServletContext(); // 获取上下文参数

		String uploadFolder = servletContext.getInitParameter("upload folder"); // 获取参数
		String allowedFileType = servletContext.getInitParameter("allowed file type");

		out.println("<div class='line'>");
		out.println(" 	<div align = 'left' class = 'leftDiv'>上传文件夹</div>");
		out.println(" 	<div align = 'left' class='rightDiv'>" + uploadFolder + "</div>");
		out.println("</div>");
		out.println("<div class='line'>");
		out.println("  	<div align = 'left' class='leftDiv'>实际磁盘路径</div>");
		out.println("  	<div align = 'left' class='rightDiv'>" + servletContext.getRealPath(uploadFolder) + "</div>");
		out.println("</div>");
		out.println("<div class='line'>");
		out.println("	<div align='left' class='leftDiv'>允许上传的类型</div>");
		out.println("	<div align='left' class='rightDiv'>" + allowedFileType + "</div>");
		out.println("</div>");
		out.println("</fieldset></div>");
		out.println("</BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}
}

servletContext.getRealPath(String path) : 获取某文件在服务端的磁盘路径。

总结

关于web.xml中的<context-param>是全局的,所有Servlet都可以读取。
但定义在 <servlet><init-param>....</init-param></servlet>中的参数,只能被对应的Servlet获取。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值