Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不将servlet中的数据插入sql数据库? html文件 你好 姓名: servlet代码 导入java.io.IOException; 导入java.io.PrintWriter; 导入java.sql.Connection; 导入java.sql.DriverManager; 导入java.sql.SQLException; 导入java.sql.Statement; 导入javax.servlet.ServletException; 导入javax.servlet.http.HttpServlet; 导入javax.servlet.http.HttpServletRequest; 导入javax.servlet.http.HttpServletResponse; 公共类Try扩展了HttpServlet{ 私有静态最终长 serialVersionUID=1L; 连接con; 报表stm; 公共审判{ 超级(); } 受保护的void doGet(HttpServletRequest-req,HttpServletResponse-res)抛出ServletException, IOException{ res.setContentType(“文本/html”); PrintWriter out=res.getWriter(); 试试{ 字符串pname=req.getParameter(“名称”); 类forName(“oracle.jdbc.driver.OracleDriver”); System.out.println(“驱动程序加载”); String url=“jdbc:oracle:thin:@an-PC:1525/orclg”; 联系 con=DriverManager.getConnection(url,“用户”,“传递”); out.println(“连接”+con); 语句stm=con.createStatement(); String sql=“插入名称(names)值(“+pname+”)”; stm.executeUpdate(sql); System.out.println(“插入的记录…”); con.close(); }catch(classnotfound异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(SQLE异常){ //TODO自动生成的捕捉块 e、 printStackTrace();} } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)抛出 ServletException,IOException{ } } 以下是例外情况_Java_Html_Servlets_Oracle10g - Fatal编程技术网

为什么不将servlet中的数据插入sql数据库? html文件 你好 姓名: servlet代码 导入java.io.IOException; 导入java.io.PrintWriter; 导入java.sql.Connection; 导入java.sql.DriverManager; 导入java.sql.SQLException; 导入java.sql.Statement; 导入javax.servlet.ServletException; 导入javax.servlet.http.HttpServlet; 导入javax.servlet.http.HttpServletRequest; 导入javax.servlet.http.HttpServletResponse; 公共类Try扩展了HttpServlet{ 私有静态最终长 serialVersionUID=1L; 连接con; 报表stm; 公共审判{ 超级(); } 受保护的void doGet(HttpServletRequest-req,HttpServletResponse-res)抛出ServletException, IOException{ res.setContentType(“文本/html”); PrintWriter out=res.getWriter(); 试试{ 字符串pname=req.getParameter(“名称”); 类forName(“oracle.jdbc.driver.OracleDriver”); System.out.println(“驱动程序加载”); String url=“jdbc:oracle:thin:@an-PC:1525/orclg”; 联系 con=DriverManager.getConnection(url,“用户”,“传递”); out.println(“连接”+con); 语句stm=con.createStatement(); String sql=“插入名称(names)值(“+pname+”)”; stm.executeUpdate(sql); System.out.println(“插入的记录…”); con.close(); }catch(classnotfound异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(SQLE异常){ //TODO自动生成的捕捉块 e、 printStackTrace();} } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)抛出 ServletException,IOException{ } } 以下是例外情况

为什么不将servlet中的数据插入sql数据库? html文件 你好 姓名: servlet代码 导入java.io.IOException; 导入java.io.PrintWriter; 导入java.sql.Connection; 导入java.sql.DriverManager; 导入java.sql.SQLException; 导入java.sql.Statement; 导入javax.servlet.ServletException; 导入javax.servlet.http.HttpServlet; 导入javax.servlet.http.HttpServletRequest; 导入javax.servlet.http.HttpServletResponse; 公共类Try扩展了HttpServlet{ 私有静态最终长 serialVersionUID=1L; 连接con; 报表stm; 公共审判{ 超级(); } 受保护的void doGet(HttpServletRequest-req,HttpServletResponse-res)抛出ServletException, IOException{ res.setContentType(“文本/html”); PrintWriter out=res.getWriter(); 试试{ 字符串pname=req.getParameter(“名称”); 类forName(“oracle.jdbc.driver.OracleDriver”); System.out.println(“驱动程序加载”); String url=“jdbc:oracle:thin:@an-PC:1525/orclg”; 联系 con=DriverManager.getConnection(url,“用户”,“传递”); out.println(“连接”+con); 语句stm=con.createStatement(); String sql=“插入名称(names)值(“+pname+”)”; stm.executeUpdate(sql); System.out.println(“插入的记录…”); con.close(); }catch(classnotfound异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(SQLE异常){ //TODO自动生成的捕捉块 e、 printStackTrace();} } 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)抛出 ServletException,IOException{ } } 以下是例外情况,java,html,servlets,oracle10g,Java,Html,Servlets,Oracle10g,java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver 位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 位于java.lang.C

java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver 位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 位于org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 位于java.lang.Class.forName0(本机方法) 位于java.lang.Class.forName(Class.java:259) 在Try.doGet(Try.java:41) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 位于org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 位于org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 位于org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
在java.lang.Thread.run(Thread.java:745)

这句话可能是您的问题:

html file
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>hi</title>
 </head>
  <body>
  <form action="Try.java" method="get" >
  name: <input type="text" name="name" ></input>
  <input type="submit" name="submit" value="submit" style="color: blue">
  </form>
  </body>
   </html>



servlet code
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection; 
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse;

 public class Try extends HttpServlet {

  private static final long
  serialVersionUID = 1L;      
  Connection con;
  Statement stm;

   public Try() {
   super();
          }


protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, 
IOException {

    res.setContentType("text/html");    
    PrintWriter out=res.getWriter();
     try {      
      String pname=req.getParameter("name");
      Class.forName("oracle.jdbc.driver.OracleDriver");
      System.out.println("driver loaded"); 
      String url="jdbc:oracle:thin:@an-PC:1525/orclg"; 
      Connection
      con=DriverManager.getConnection(url,"user","pass");
      out.println("connection"+con);    
      Statement stm=con.createStatement();  
      String sql="Insert into name(names)values('"+pname+"')";      
      stm.executeUpdate(sql);
      System.out.println("Record inserted.....");       
      con.close();
    } catch (ClassNotFoundException e) {        
      // TODO Auto-generated catch block        
      e.printStackTrace();  
    } catch (SQLException e) {
        // TODO Auto-generated catch block      
      e.printStackTrace();  }
      }

      protected void doPost(HttpServletRequest request,HttpServletResponse response) throws 
      ServletException, IOException {

  }    
}
 following are the Exceptions
我认为应该引用如下:

String sql="Insert into name(names)values("+"'pname')"; 

您应该学习解释堆栈跟踪。堆栈跟踪的第一行表示Java运行时无法找到类
oracle.jdbc.driver.OracleDriver
。 这是Oracle JDBC驱动程序类

因此,获取并将其放入web应用程序的
web-INF/lib
文件夹中

顺便说一句:为了防止这种情况发生,您永远不应该通过字符串操作来创建带有未跳过的请求参数的SQL。使用预先准备好的语句。不要忘记关闭语句并提交事务

String sql="Insert into name(names)values('"+pname+"')"; 

这将自动转义引号之类的字符。此外,您应该在执行插入之前验证该值(例如,根据名称列的长度,长度不超过100个字符)。

提供堆栈跟踪!“插入到名称(names)值(“+”'pname')”,打印此字符串的ln,在sqldeveloper(或用于管理数据库的任何程序)中执行它,以查看查询是否正常。”。(错误的表?错误的属性?)?
PreparedStatement stm = con.prepareStatement("insert into name (names) values (?)");  
stm.setString(1, pname);
stm.executeUpdate();
con.commit();
stm.close();