有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中ServletContext的tomcat输出未按预期获得?

我试图从web.xml文件中读取某些值,并且在这个问题底部的图像中得到了错误

配置。html

<form action="go" method="get">
    Enter name:<input type="text" name="pname"><br>
    Enter Age:<input type="text" name="page"><br>
    <input type="submit" value="submit">  
</form>

使用ServletContext。java

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
     PrintWriter pw=response.getWriter();

     //Read form data through Form Page:
     String name=request.getParameter("pname");
     String age=request.getParameter("page");

     //Approach1
     ServletConfig cg=getServletConfig();
     ServletContext sc=cg.getServletContext();

     String db2url=sc.getInitParameter("db2url");
     String db2user=sc.getInitParameter("db2user");

     String sql="insert into jalajclients(name,age) values(?,?)";

     //Convert age to numeric values.
     int age1=Integer.parseInt(age.trim());

     //Store these Values to the DataBAse.
     try {
         Class.forName("com.ibm.db2.jcc.Db2Driver");
         Connection con=DriverManager.getConnection(db2url,db2user,"786");

         PreparedStatement ps=con.prepareStatement(sql);
         ps.setString(1,name);
         ps.setInt(2, age1);

         int i=ps.executeUpdate();
         pw.println(i);
      } catch(Exception e) {
         e.printStackTrace();
      }

}

我得到以下错误:

enter image description here

网络。xml

 <servlet>
      <description></description>
      <display-name>UseServletContext</display-name>
      <servlet-name>UseServletContext</servlet-name>
      <servlet-class>UseServletContext</servlet-class>
 </servlet>

<context-param> 
     <param-name>db2url</param-name>
     <param-value>jdbc:db2://localhost:50000/mydb1235</param-value>
</context-param>

<context-param> 
     <param-name>db2user</param-name>
     <param-value>piyush</param-value>
</context-param>

<servlet-name>UseServletContext</servlet-name>
<url-pattern>/go1</url-pattern>
</servlet-mapping>

谁能告诉我我做错了什么


共 (1) 个答案

  1. # 1 楼答案

    您是否在Servlet中重写了init方法? 如果是,那么不要忘记像下面那样在其中调用super.init(config);

    public void init(ServletConfig config) throws ServletException {
    super.init(config); 
    }