ajax servlet的init初始化问题
用servlet作服务器端代码时,在init函数,先把数据库里的内容取出来放在一个数组中,然后再用request.getParameter(“key")取得参数时,这样可以!可是我就想直接在doGet(HttpServletRequest request, HttpServletResponse response)函数中根据request.getParameter("key")来选择数据库里的内容,放在一个数组中,为什么就没有反应了,代码如下:public class ToolServlet extends HttpServlet {<br> <br> private Map courses = new HashMap();<br> String sql="";<br> String colName = "";<br> String sDBDriver = ""; <br> String sConnStr = "";<br> private Connection conn ;<br> private Statement stmt ;<br> private ResultSet rs,counts ;<br> <br> protected void doGet(HttpServletRequest request, HttpServletResponse response)<br> throws ServletException, IOException {<br> Integer key = Integer.valueOf(request.getParameter("key"));<br> int i;<br> i=key.intValue();<br> conn = null;<br> stmt = null; <br> sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver"; <br> sConnStr = "jdbc:odbc:jdomdb";<br> try{<br> Class.forName(sDBDriver); ///加载驱动程序 <br> conn = DriverManager.getConnection(sConnStr); ///建立Connection连接<br> stmt = conn.createStatement(); ///创建语句对象<br> rs=stmt.executeQuery("select * from userinfo where id=1");<br> CourseData aa = new CourseData(rs.getString("username"),rs.getString("sex"));<br> courses.put(new Integer(i), aa);<br> <br> }<br> catch(Exception sqlexception)<br> {<br> System.out.println("数据库连接发生异常!");<br> }<br> CourseData data = (CourseData) courses.get(key);<br> <br> PrintWriter out = response.getWriter();<br><br> response.setContentType("text/xml");<br> response.setHeader("Cache-Control", "no-cache");<br><br> out.println("<response>");<br> out.println("<par>" + data.getPar() + "</par>");<br> out.println("<length>" + data.getString()+ "</length>");<br> out.println("</response>");<br> out.close();<br> }<br> <br> /** Handles the HTTP <code>POST</code> method.<br> * @param request servlet request<br> * @param response servlet response<br> */<br> protected void doPost(HttpServletRequest request, HttpServletResponse response)<br> throws ServletException, IOException {<br> doGet(request, response);<br> }<br> <br> /** Returns a short description of the servlet.<br> */<br> public String getServletInfo() {<br> return "Short description";<br> }<br> <br> private class CourseData {<br> private String par;<br> private String length;<br> <br> public CourseData(String par, String length) {<br> this.par = par;<br> this.length = length;<br> }<br> <br> public String getPar() {<br> return this.par;<br> }<br> <br> public String getString() {<br> return this.length;<br> }<br> }<br>}<br><br>大家帮我看一下!谢谢了,我的代码的意思就是想根据前台KEY参数的值去查询数据库中对应的ID号,然后输出记录!<br>页:
[1]
