通过web.xml定义变量并读取输出读取变量:
局部变量局部变量只能用于当前serlet
通过init-param定义变量
<servlet>
<servlet-name>helloworod</servlet-name>
<servlet-class>servletStudent.helloworod</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>sheng</param-value>
</init-param>
在servlet中通过this.getInitParameter("username")读取变量内容
servlet测试代码如下:
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
String url = request.getRequestURL().toString();
System.out.println("=============================");
System.out.println(url);
PrintWriter out = response.getWriter();
out.println("=======get========");
out.println("wellcome "+this.getInitParameter("username"));
out.println("Hello world!!! ");
运行测试结果如图:
运行结果通过在web配置文件中通过context-param节点通过<param-name>方式定义变量名及密码。
定义全局变量方式如下:
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3386/test</param-value>
</context-param>
<context-param>
<param-name>db_name</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>db_pass</param-name>
<param-value>root@2017</param-value>
</context-param>
通过this.getServletContest().getInitParameter()方式获取变量内容。
public void init(){
String username =this.getInitParameter("username");
System.out.println("==========init()============");
System.out.println("init username: "+username);
System.out.println("this db url:"+this.getServletContext().getInitParameter("url"));
System.out.println("this db name:"+ this.getServletContext().getInitParameter("db_name"));
System.out.println("this db pass:"+ this.getServletContext().getInitParameter("db_pass"));
}
运行结果如图:
获取全局变量
网友评论