How to get init parameter in jsp

I am trying to get url data using jsp because i used jsp code as

String Url = pageContext.getServletConfig().getInitParameter("url").toString(); out.println(Url); 

web.xml

 <servlet> <servlet-name>IploginJSP</servlet-name> <jsp-file>/Iplogin.jsp</jsp-file> <init-param> <param-name>url</param-name> <param-value>http://xxx.xxx.xxx.xxx:9000</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>IploginJSP</servlet-name> <url-pattern>/Iplogin</url-pattern> </servlet-mapping> 

But I see a NullPointerException

+4
source share
2 answers

I think this will solve your problem.

Reboot the server after making changes to the web.xml .

web.xml

 <servlet> <servlet-name>GetInitParam</servlet-name> <jsp-file>/GetInitParam.jsp</jsp-file> <init-param> <param-name>url</param-name> <param-value>hello</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>GetInitParam</servlet-name> <url-pattern>/GetInitParam.jsp</url-pattern> </servlet-mapping> 

GetInitParam.jsp

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Example of getting init param</title> </head> <body> <%! String url= null; public void jspInit() { ServletConfig config = getServletConfig(); url= config.getInitParameter("url"); } %> <% System.out.println(url); %> </body> </html> 

Update 1

As you requested in your comments to access parameters in all jsp files . to access parameters in all jsp files, you must set <context-param> in web.xml

Put the following lines in web.xml

 <context-param> <param-name>param1</param-name> <param-value>hello</param-value> </context-param> 

you can access these parameters as follows in the jsp file:

 <% String param1=application.getInitParameter("param1"); System.out.println(param1); %> 

Update2

web.xml

 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <context-param> <param-name>param1</param-name> <param-value>hello</param-value> </context-param> </web-app> 

JSP FILE

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Example of getting init param</title> </head> <body> <% String param1=application.getInitParameter("param1"); System.out.println(param1); %> </body> </html> 
+13
source

It is generally accepted that in JSP we should use EL, not a scriptlet. So, this version with EL in the JSP file:

 <%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %> <HTML> <HEAD> <TITLE>Using of initParam</TITLE> </HEAD> <BODY > <c:set var="LANDING_DEFAULT_URL" value="${initParam.LANDING_DEFAULT_URL}"/> <p>${LANDING_DEFAULT_URL}"</p> </BODY> 

and web.xml:

 <context-param> <param-name>LANDING_DEFAULT_URL</param-name> <param-value>https://xxx.xxx.xxx.com/</param-value> </context-param> 
0
source

All Articles