servlet3.0中,不再需要通过配置web.xml文件来初始化各种信息,但是在@WebIntiParam中配置的时候程序里面却在么也拿不到,程序如下:
<pre name="code" class="java">package com.servlet;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.omg.CORBA.SystemException;
@WebServlet(/ConfigDeme)
public class ConfigDeme extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
String path = this.getServletConfig().getInitParameter("path");
System.out.println(path);
File file = new File(path);
BufferedReader in = new BufferedReader(new FileReader(file));
String str = null;
while((str=in.readLine()) != null){
System.out.println(str);
}
}
}
后来通过搜索发现需要将@WebInitParam这样配置:
<span style="font-size:14px;color:#CC0000;"><strong>@WebServlet(urlPatterns = "/ConfigDeme",initParams={@WebInitParam(name="path",value="D:/b.txt")})</strong></span>
这样就能在程序中访问到path和value了,不知为何.