-1
Web-app에서 init-param을 사용하려고하고 ServletContextListener와 함께 사용하려고합니다. 나중에 내 서블릿을 선택하여 사용자에게 표시해야합니다. 내가 할 수있는 모든 일을했지만 오류가 발생했습니다. 뭔가 잘못되어 볼 수 없습니다.내가 뭘 잘못 했니? ServletContextListener를 사용하여 web.xml에서 context-param을 사용하려고 시도했습니다.
내 web.xml을
<web-app>
<context-param>
<param-name>name</param-name>
<param-value>Abdi</param-value>
</context-param>
</web-app>
내 클래스 :
@WebListener
public class Developer implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent e) {
System.out.println("Destroyed!");
}
@Override
public void contextInitialized(ServletContextEvent e) {
ServletContext cntxt = e.getServletContext();
String name = e.getServletContext().getInitParameter(name);
DevInfo student = new DevInfo(name);
cntxt.setAttribute("student", student);
}
}
다른 클래스 :
public class DevInfo {
private String name;
public DevInfo (String name) {
this.name = name;
}
public String getName() {
return name;
}
}
서블릿 :
DevInfo stu = (DevInfo)getServletContext().getAttribute("student");
System.out.println("Developers name is: " + stu.getName());
오류가 contextInitialized 메소드에 있습니다. e.getServletContext(). "지역 변수 이름이 초기화되지 않았습니다."getInitParameter (name);
네, 고쳐 주셔서 감사합니다. 문제가 사라졌습니다. 이제 새로운 문제가 생겼습니다. "개발자 명 : null" –
e.getServletContext(). getInitParameter ("name")'에 의해 반환되는 값은 무엇입니까? –
무슨 소리 야? –