config.getInitParameter()在JSP中返回null值?

问题描述 投票:0回答:2

我尝试过使用JSP的一个例子,因为我试图在JSP中获取初始参数,该参数在web.xml中声明。但它返回空值。

请参阅下面的代码:Response_Config.html

<html>
<head>
<meta charset="ISO-8859-1">
<title>Response and Config Object Example</title>
</head>
<body>
    <form action="Imp_response.jsp">
        User Name : <input type="text" name="username" /><br />
        <input type="submit" value="Go"/>
    </form>
</body>
</html>

Imp_response.jsp

<body>
    <%
    System.out.println("Before Redirecting");
    String uname = request.getParameter("username");
    session.setAttribute("username", uname);
    response.sendRedirect("Imp_config.jsp"); %>
</body>

Imp_config.jsp

<body>
    <%
        out.println("Welcome !... "+session.getAttribute("username"));
        String uname=config.getInitParameter("company");    
        String degree = config.getInitParameter("degree");
        System.out.println("uname = "+uname);
        System.out.println("degree = "+degree);
    %>
    <h4>Company : <%= uname %></h4><br />
    <h4>Degree : <%= degree %></h4>
</body>

网嗯

 <servlet>
  <servlet-name>ImplicitConfig</servlet-name>
  <jsp-file>/Imp_config.jsp</jsp-file>

  <init-param>
  <param-name>company</param-name>
  <param-value>ABC pvt ltd</param-value>  
  </init-param>

  <init-param>  
  <param-name>degree</param-name>
  <param-value>MCA</param-value>
  </init-param>
 </servlet>
 <servlet-mapping>
  <servlet-name>ImplicitConfig</servlet-name>
  <url-pattern>/Imp_config</url-pattern>
 </servlet-mapping>

应用程序流程为:Response_Config.html - > Imp_response.jsp - > Imp_config.jsp

当我将其作为整个应用程序运行时,它提供以下输出:在我的网页中

Welcome !... kavi   //I have entered User Name : kavi 
Company : null
Degree : null

但是,当我单独运行Imp_config.jsp时,它会提供以下输出:

Welcome !... null  //I know the session is null, when I run separately
Company : ABC pvt ltd
Degree : MCA

当我将它作为整个应用程序运行时,我不知道为什么它会产生Null值。请分享您的想法,我们将不胜感激。谢谢

jsp
2个回答
0
投票

你应该这样使用:response.sendRedirect(“Imp_config”);

在JSP中,config是ServletConfig类型的隐式对象。

/Imp_config,你的servlet映射url,允许jsp文件声明为servlet。


0
投票

而不是action="Imp_response.jsp"尝试action="Imp_response"因为你需要准确,因为Java不会认为两者都是一样的。

© www.soinside.com 2019 - 2024. All rights reserved.