编写一个Servlet,使程序能读取该Servlet的配置信息(使用ServletConfig),从中获得参数名为username,password,role对应的参数值,并输出到页面上。
时间: 2024-05-14 21:12:11 浏览: 59
ServletConfig接口-Servlet
下面是一个简单的示例代码:
```java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ConfigServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String username;
private String password;
private String role;
public void init(ServletConfig config) throws ServletException {
super.init(config);
username = config.getInitParameter("username");
password = config.getInitParameter("password");
role = config.getInitParameter("role");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Servlet Config Example</title></head><body>");
out.println("<h1>Servlet Config Example</h1>");
out.println("<p>Username: " + username + "</p>");
out.println("<p>Password: " + password + "</p>");
out.println("<p>Role: " + role + "</p>");
out.println("</body></html>");
out.close();
}
}
```
在上面的代码中,我们首先在 `init` 方法中使用 `getInitParameter()` 方法从 `ServletConfig` 对象中获取参数值,并将它们存储在实例变量中。然后,在 `doGet` 方法中,我们将这些参数值输出到 HTML 页面上。
要使用这个 Servlet,我们需要在 `web.xml` 文件中配置它,如下所示:
```xml
<servlet>
<servlet-name>ConfigServlet</servlet-name>
<servlet-class>ConfigServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>password123</param-value>
</init-param>
<init-param>
<param-name>role</param-name>
<param-value>admin</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ConfigServlet</servlet-name>
<url-pattern>/config</url-pattern>
</servlet-mapping>
```
在上面的代码中,我们将 Servlet 的类名设置为 `ConfigServlet`,并在 `<init-param>` 元素中定义了三个参数:`username`、`password` 和 `role`。这些参数可以在部署 Web 应用程序时进行配置,以便根据需要修改它们。最后,我们将 Servlet 映射到 URL `/config`。
阅读全文