注意:如果是3.0以上Tomcat,具有注释配置的功能,
这时如果@WebServlet("/HelloServlet"),即在注解中声明一个servelt
然后你又憨憨的在web.xml中声明了一遍,并且在xml中声明了servelt初始化变量。
放心,你访问不到初始化变量。
因为你只能通过注解的那种方式访问,但是注解中你没有声明变量,所以:
要么把参数声明转移到注解,要么删除注解。
package com.my.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloServlet
*/
//@WebServlet("/HelloServlet")这是那行万恶的注解
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
}
public void init(ServletConfig config) throws ServletException{
super.init(config);
System.out.println(this.getClass().getName()+"的init方法被调用:");
}
public void destroy() {
System.out.println(this.getClass().getName()+"的destory方法被调用");
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletConfig config=getServletConfig();
String url = config.getInitParameter("password");
System.out.println(url);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID" version="4.0">
<display-name>mytest2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.my.servlet.HelloServlet</servlet-class>
<init-param>
<param-name>url</param-name>
<param-value>ifyouwannago</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>qst</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>qst123</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>