Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
getServletName()的结果始终是jsp,尽管我给出了实际名称_Jsp - Fatal编程技术网

getServletName()的结果始终是jsp,尽管我给出了实际名称

getServletName()的结果始终是jsp,尽管我给出了实际名称,jsp,Jsp,虽然这是一个简单的代码,但我的输出不正确。 getServletName总是打印出jsp 和initparameter值总是打印出来。为什么呢???请帮忙 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" xsi:s

虽然这是一个简单的代码,但我的输出不正确。 getServletName总是打印出jsp

和initparameter值总是打印出来。为什么呢???请帮忙

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" 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">

<servlet>  
<servlet-name>FirstJSP</servlet-name>  
<jsp-file>/index.jsp</jsp-file>  

<init-param>  
<param-name>dname</param-name>  
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>  
</init-param>  

<init-param>
<param-name>defaultuser</param-name>
<param-value>Default User Name</param-value>
</init-param>
</servlet>  

<servlet-mapping>  
<servlet-name>FirstJSP</servlet-name>  
<url-pattern>/index</url-pattern>  
</servlet-mapping>

</web-app>
index.jsp

<%String name=request.getParameter("username");
out.println("Welcome "+name+"!!");%>
<% String driver=getServletConfig().getInitParameter("dname");  
out.print("driver name is="+driver);   %>
 <br> Servlet name is: <%= getServletConfig().getServletName() %>
<br>
Default user is: <%= getServletConfig().getInitParameter("defaultuser") %>
<br>
Parameter is: <%= getServletConfig().getInitParameter("defaultuser") %>
<br>
<%=getServletContext().getAttribute("servlet") %>
form.html

<form action="index.jsp">
<table>
    <tr><td>username: <input type="text" name="username"></td></tr><tr></tr>
    <tr><td>password: <input type="password" name="password"></td></tr>
    <tr><td align="right"><input type="submit" value="login"></td></tr>
</table>
</form>
web.xml最后一行中的值应该是/index.jsp 即
/jsp而不是/index

您需要通过正确的servlet映射访问jsp,以获得其正确的servlet名称和init参数。将表单更改为/index,如下所示这是jsp作为servlet的正确映射

<form action="/index">

如果您提供index.jsp URI,则它不会使用web.xml中提供的配置,而只是访问正确的jsp,这就是为什么init参数有不同的名称和null。

请有人帮助。。。。。。。。。。。。。。。。。。。。