++
<form id="myForm" name=f1 action="acq.Acquired" method="post" >
写个servlet,在web.xml里面配置拦截路径如<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>cn.xxx.xx.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/ms</url-pattern>
</servlet-mapping>你form里的action="ms"然后在servlet里面String nameAll = request.getParameter("nameAll");
<form id="myForm" name=f1 action="acq.Acquired" method="post" >
写个servlet,在web.xml里面配置拦截路径如<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>cn.xxx.xx.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/ms</url-pattern>
</servlet-mapping>你form里的action="ms"然后在servlet里面String nameAll = request.getParameter("nameAll");
只是servlert和servlet-mapping两者间的name匹配,真正跟form关系的是url-pattern,也就是/ms
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.Date;
import java.util.*;@SuppressWarnings({ "serial", "unused" })
public class Acquired extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("do get.........");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); System.out.println("do post.......");
//String action = request.getParameter("action");
String userId=request.getParameter("userId");
String nameAll=request.getParameter("nameAll");
String birthday = parseBirthday(request, response);
String sex = request.getParameter("sex");
System.out.println(userId+" "+nameAll+" "+birthday+" "+sex);
}
private String parseBirthday(HttpServletRequest request,
HttpServletResponse response) {
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
String date = String.valueOf(year + "-" + month + "-" + day);
return date;
}
}
servlet里写数据库连接,就是你的帖子里main里面的内容,然后写一个insert语句,再executeQuery(insert)
import javax.servlet.*;
import javax.servlet.http.*;import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.*;@SuppressWarnings({ "serial", "unused" })
public class Acquired extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("do get.........");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); System.out.println("do post.......");
String userId=request.getParameter("userId");
String nameAll=request.getParameter("nameAll");
String birthday = parseBirthday(request, response);
String sex = request.getParameter("sex");
System.out.println(userId+" "+nameAll+" "+birthday+" "+sex);
String dbUrl = "jdbc:oracle:thin:@Bard0117:1522:ORCL";
String user="system";
String password="system";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");//建立JDBC-ODBC桥接器
Connection c=DriverManager.getConnection(dbUrl,user,password);//建立连接,编写连接数据库代码不会出现数据库的名称,只能出现数据源的名字
Statement s=c.createStatement();//向数据库发送SQL查询语句
String sql = "INSERT INTO TEST (USERID,NAMEALL,BIRTHDAY,SEX) VALUES (?,?,?,?)";
PreparedStatement pstmt = null;
pstmt = c.prepareStatement(sql);
pstmt.setString(1, userId);
pstmt.setString(2, nameAll);
pstmt.setString(3, birthday);
pstmt.setString(4, sex);
pstmt.executeUpdate();
ResultSet r=pstmt.executeQuery(sql);//处理查询结果
while(r.next()){
System.out.print(sql);
}s.close();
}catch(Exception e){
e.printStackTrace();
}
}
private String parseBirthday(HttpServletRequest request,
HttpServletResponse response) {
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
String date = String.valueOf(year + "-" + month + "-" + day);
return date;
}
}错误报告:
INSERT INTO TEST (USERID,NAMEALL,BIRTHDAY,SEX) VALUES (?,?,?,?)java.sql.SQLException: ORA-01009: 必需的参数缺失 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1451)
at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:943)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:245)
at acq.Acquired.doPost(Acquired.java:54)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
USERID NAMEALL BIRTHDAY SEX ROWID
zhangsan 张三 19870909 男
lisi 李四 19830812 女
不知道是哪个参数缺失,怎么改呀?求大家帮帮忙。