通过ServletConfig对象获取Servlet配置参数

本文介绍如何在Web.xml文件中配置Servlet,并通过ServletConfig对象获取初始化参数,实现连接数据库并展示数据的基本流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写过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();
                }
        }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值