我尝试过使用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>
的web.xml
<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 - &gt; Imp_response.jsp - &gt; 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值。请分享您的想法,我们将不胜感激。感谢
答案 0 :(得分:0)
你应该这样使用:response.sendRedirect(“Imp_config”);
在JSP中,config是ServletConfig类型的隐式对象。
/Imp_config
,你的servlet映射url允许jsp文件声明为servlet。
答案 1 :(得分:0)
代替action="Imp_response.jsp"
尝试action="Imp_response"
您需要精确一点,因为Java不会将两者视为相同。