之前写过jsp中通过config对象获取配置参数,它与通过ServletConfig对象获取Servlet配置参数,及其相似,因为jsp本质就是Servlet嘛,我这里主要是从web.xml中获取参数,当然,如果你的Servlet在3.0版本以上,可以通过@WebServlet Annotation来配置参数。
首先在web.xml总配置servlet如下:
myServlet
mckee.TestServlet
driver
com.mysql.jdbc.Driver
url
jdbc:mysql://localhost:3307/test
user
root
pass
root
myServlet
/myServlet
复制代码
编写Servlet如下:
package mckee;
import java.io.*;
import java.sql.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.Connection;
public class TestServlet extends HttpServlet
{
//重写init方法
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,java.io.IOException
{
try
{
//获取servletConfig对象
ServletConfig config = getServletConfig();
String driver = config.getInitParameter("driver");
String url = config.getInitParameter("url");
String user = config.getInitParameter("user");
String pass = config.getInitParameter("pass");
Class.forName(driver);
Connection conn = (Connection) DriverManager.getConnection(url,user,pass);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user");
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintStream out = new PrintStream(response.getOutputStream());
//输出html
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
while(rs.next())
{
out.println("编号"+rs.getString(1)+" 的姓名是:"+rs.getString(2)+"
");
}
out.println("");
out.println("");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
复制代码