这是一个简单的servlet增删改查界面
t3.sql数据库:
/* SQLyog 企业版 - MySQL GUI v8.14 MySQL - 5.5.25a : Database - test ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `test`; /*Table structure for table `t3` */ DROP TABLE IF EXISTS `t3`; CREATE TABLE `t3` ( `id` int(11) NOT NULL AUTO_INCREMENT, `password` varchar(32) DEFAULT NULL, `userName` varchar(32) DEFAULT NULL, `sex` varchar(5) DEFAULT NULL, `age` int(2) DEFAULT NULL, `address` varchar(1024) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=50 DEFAULT CHARSET=utf8; /*Data for the table `t3` */ insert into `t3`(`id`,`password`,`userName`,`sex`,`age`,`address`) values (1,'23','123','女',12,' '),(36,'5345423','李四','男',12,'沙河'),(37,'654321','admin','男',30,'中国北京'),(38,'123456','admin2','女',28,'中国北京'),(39,'654321','admin','男',29,'中国河北'),(40,'123456','admin3','男',29,'中国河北'),(41,'12345678','admin4','男',29,'中国河北'),(42,'123','张三','男',22,'中国'),(43,'12345','王五','男',32,'山东济南'),(44,'123456','老刘','男',33,'中国河南'),(45,'654321','老刘','男',33,'中国河南'),(46,'123','老王','男',33,'中国河南'),(48,'12345678','老八','男',21,'234'),(49,'456123','admin','女',21,'123456'); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
servletAction.java源代码:
package com.action; import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.service.stuInfoService; @SuppressWarnings("serial") public class servletAction extends HttpServlet { //导入service服务包 stuInfoService stuinfoService=new stuInfoService(); //影响行数默认为-1,因为数据操作后的返回结果不为-1 private int i=-1; //创建list数组 private List list=null; //设定初始状态 private boolean state=false; /* * servlet action * */ public servletAction() { super(); } /* * servlet销毁方法 * */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /* * doGet方法 * */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //如果是get方法,自动带参数跳转到post()方法 doPost(request, response); } /* * doPost()方法 * */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置页面编码格式为utf-8 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //获取页面路径请求参数action String action=request.getParameter("action"); //根据页面路径请求参数判断应该跳转的页面 if(action.equals("insert")){ //跳转到插入页面 insert(request,response); }else if(action.equals("delete")){ //跳转到删除页面 delete(request,response); }else if(action.equals("update")){ //跳转到修改页面 update(request,response); }else if(action.equals("select")){ //跳转到查询页面 select(request,response); } } /* * 查询方法 * */ private void select(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException,ServletException, IOException { // TODO Auto-generated method stub //设置页面编码格式为utf-8 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); System.out.println("这里是查询方法!"); //获取页面请求参数 String userName=request.getParameter("userName"); String password=request.getParameter("password"); String sex=request.getParameter("sex"); String age=request.getParameter("age"); String address=request.getParameter("address"); //判断性别是否则”请选择“,如果是则置空,因为性别中只有”男“,”女“,没有”请选择“ if("请选择".equals(sex)){ sex=""; System.out.println("sex:"+sex); } //在控制台打印出来页面传递过来的参数 System.out.println("userName:"+userName+" password:"+password+" sex:"+sex+" age:"+age+" address:"+address); //穿点String数组,方便参数调用 String[] keyOption=new String[]{"userName","password","sex","age","address"}; String[] valOption=new String[]{userName,password,sex,age,address}; //循环遍历页面参数 for(int i=0;i<valOption.length;i++){ //判断页面传递来的参数是否存在,如果不存在则置空 if(null==valOption[i]){ valOption[i]=""; } } //查询方法,获取mysql数据库的返回结果数组 list=stuinfoService.select(keyOption,valOption); //将servlet获取的查询结果打印到控制台 System.out.println("姓名"+" 密码"+" 性别"+" 年龄"+" 地址"); //判断获取的来自mysql数据库的数组是否存在 if(list!=null){ //判断list数组是否为空 if(list.size()>0){ //循环遍历list数组 for(int i=0;i<list.size();i++){ //创建Map数组接受list传递来的每一行参数 Map<String,String> map=(Map<String, String>) list.get(i); //在控制台打印出每一行数组 System.out.println(map.get("userName")+" "+map.get("password")+" "+map.get("sex")+" "+map.get("age")+" "+map.get("address")); } }else{ System.out.println("这里是select()方法,list数组为空!"); } }else{ System.out.println("这里是select()方法,list数组不存在!"); } //将查询结果打印到前台界面 response.setContentType("text/html"); PrintWriter out = response.getWriter(); out .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>Select Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.println("<table>"); //在servlet页面打印出每一行的航标题 out.println("<tr> <th>姓名</th> <th>密码</th> <th>性别</th> <th>年龄</th> <th>地址</th> </tr>"); //判断list数组是否存在 if(list!=null){ //判断list数组是否为空 if(list.size()>0){ //循环遍历list数组 for(int i=0;i<list.size();i++){ //创建Map容器接收list传递来的每一行参数 Map<String,String> map=(Map<String, String>) list.get(i); //打印出每一行的结果 out.println("<tr>"); out.println("<th>"); out.println(map.get("userName")); out.println("</th>"); out.println("<th>"); out.println(map.get("password")); out.println("</th>"); out.println("<th>"); out.println(map.get("sex")); out.println("</th>"); out.println("<th>"); out.println(map.get("age")); out.println("</th>"); out.println("<th>"); out.println(map.get("address")); out.println("</th>"); out.println("</tr>"); } }else{ System.out.println("这里是select()方法,list数组为空!"); } }else{ System.out.println("这里是select()方法,list数组不存在!"); } out.println("</table>"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /* * 修改方法 * */ private void update(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException,ServletException, IOException { // TODO Auto-generated method stub //设置页面编码格式为utf-8 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); System.out.println("这里是update方法"); //获取页面请求参数 String userName=request.getParameter("userName"); String upOption=request.getParameter("upOption"); String upValue=request.getParameter("upValue"); //在控制台打印出获取的页面参数 System.out.println("userName:"+userName+" upOption:"+upOption+" upValue:"+upValue); //判断upOption是否为”请选择“ if("请选择".equals(upOption)){ //如果参数是”请选择“,则认为没有任何参数,所以说不进行任何操作,自动返回原始页面 response.sendRedirect("index.jsp"); }else{ //判断upValue参数是否存在 if(upValue!=null){ //判断upValue参数是否为空 if("".equals(upValue)){ //如果为空,不进行任何操作,直接返回原始页面 response.sendRedirect("index.jsp"); System.out.println("upValue参数为空!"); }else{ //将获取的下拉列表汉语信息转换成对应的字符串 if("姓名".equals(upOption)){ upOption="userName"; }else if("密码".equals(upOption)){ upOption="password"; }else if("性别".equals(upOption)){ upOption="sex"; }else if("年龄".equals(upOption)){ upOption="age"; }else if("地址".equals(upOption)){ upOption="address"; } //在控制台打印出转换参数后的结果 System.out.println("userName:"+userName+" upOption:"+upOption+" upValue:"+upValue); //执行修改数据库操作,返回影响行数 i=stuinfoService.update(userName,upOption,upValue); //根据返回的影响行数判断数据是否插入成功 if(i!=-1){ System.out.println("这里是update()方法,数据修改成功!"); }else{ System.out.println("这里是update()方法,数据修改失败!"); } //修改后自动跳转到查询方法,方便自己查看修改的参数结果 response.sendRedirect("servletAction?action=select"); } }else{ //如果不存在,不进行任何操作,直接返回原始页面 response.sendRedirect("index.jsp"); System.out.println("upValue参数并不存在!"); } } } /* * 数据删除方法 * */ private void delete(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException,ServletException, IOException { // TODO Auto-generated method stub System.out.println("这里是删除方法!"); //这只页面编码格式 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //获取页面请求参数 String delOption=request.getParameter("delOption"); String delValue=request.getParameter("delValue"); //打印获取的页面请求参数 System.out.println("delOption:"+delOption+" delValue:"+delValue); //将jsp页面传来的参数转换成与数据库对应的参数 if("id".equals(delOption)){ delOption="id"; }else if("姓名".equals(delOption)){ delOption="userName"; }else if("密码".equals(delOption)){ delOption="password"; }else if("性别".equals(delOption)){ delOption="sex"; }else if("年龄".equals(delOption)){ delOption="age"; }else if("地址".equals(delOption)){ delOption="address"; } //其实以前我创建的是Object,但是后来为了方便对sql语句的拼接,所以就改成了String类型,所以说这里用哪种都是一样能用的 String deleteOption=delOption; String deleteValue=delValue; //打印对应的Object或者是String System.out.println("deleteOption:"+deleteOption+" deleteValue:"+deleteValue); //执行删除方法,获取影响行数 i=stuinfoService.delete(deleteOption,deleteValue); //判断数据是否删除成功 if(i!=-1){ System.out.println("这里是delete()方法,数据删除成功!"); }else{ System.out.println("这里是delete()方法,数据删除失败!"); } //删除后自动跳转到查询方法,方便对于删除结果的查看 response.sendRedirect("servletAction?action=select"); } /* * 插入方法 * */ private void insert(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException,ServletException, IOException,NullPointerException { // TODO Auto-generated method stub //设置页面编码格式为utf-8 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); System.out.println("这里是插入界面!"); //获取页面请求参数 String userName=request.getParameter("userName"); String password=request.getParameter("password"); String sex=request.getParameter("sex"); String age=request.getParameter("age"); String address=request.getParameter("address"); //判断userName是否存在 if(userName!=null){ //判断userName是否为空 if("".equals(userName)){ state=true; } }else{ state=true; } //判断password是否存在 if(password!=null){ //判断password是否为空 if("".equals(password)){ state=true; } }else{ state=true; } //判断sex是否存在 if(sex!=null){ //判断sex是否为空 if("".equals(sex)){ state=true; } }else{ state=true; } //判断age是否存在 if(age!=null){ //判断age是否为空 if("".equals(age)){ state=true; } }else{ state=true; } //判断address是否存在 if(address!=null){ //判断address是否为空 if("".equals(address)){ state=true; } }else{ state=true; } /*//判断插入的数据是否存在 if((userName!=null)&&(password!=null)&&(sex!=null)&&(age!=null)&&(address!=null)){ //判断插入的数据是否为空 if(("".equals(userName))&&("".equals(password))&&("".equals(sex))&&("".equals(age))&&("".equals(address))){ //改变状态 state=true; } }else{ //改变状态 state=true; }*/ if("true".equals(state)){ response.sendRedirect("index.jsp"); }else{ //在控制台打印页面请求参数 System.out.println("userName:"+userName+" password:"+password+" sex:"+sex+" age:"+age+" address:"+address); } //在控制台打印页面请求参数 System.out.println("userName:"+userName+" password:"+password+" sex:"+sex+" age:"+age+" address:"+address); //创建String[]数组,接受页面传递的参数 String[] object=new String[]{userName,password,sex,age,address}; //判断参数是否存在 if(object!=null){ //判断参数是否为空 if(object.length>0){ /*//循环遍历object中的每一个元素 //目的就是将插入的不完善信息筛选出来 for(int i=0;i<object.length;i++){ //判断每一个元素是否存在 if(object[i]!=null){ //判断每一个元素是否为空 if("".equals(object[i])){ //改变state状态为true state=true; } }else{ //改变state状态为true state=true; } }*/ if("true".equals(state)){ //说明插入信息不全,不进行任何操作,直接返回原始页面 response.sendRedirect("index.jsp"); }else{ //执行插入方法,返回影响行数 i=stuinfoService.insert(object); //根据影响行数判断数据是否插入成功 if(i!=-1){ System.out.println("这里是insert()方法,数据插入成功!"); }else{ System.out.println("这里是insert()方法,数据插入失败!"); } //删除后自动跳转到查询方法,方便查看删除结果 response.sendRedirect("servletAction?action=select"); } }else{ //不进行任何操作,直接返回原始页面 response.sendRedirect("index.jsp"); System.out.println("这里是insert()方法,object为空数组!"); } }else{ //不进行任何操作,直接返回原始页面 response.sendRedirect("index.jsp"); System.out.println("这里是insert()方法,object数组不存在!"); } } //servlet的初始化 public void init() throws ServletException { // Put your code here } }
mySqlConnection.java源代码:
package com.dbdao.mysql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import org.junit.Test; public class mySqlConnection { //创建数据库驱动名称 private static String Driver_class="com.mysql.jdbc.Driver"; //数据库链接地址 private String url="jdbc:mysql://localhost:3306/test"; //数据库用户名 private String user="root"; //数据库密码 private String password="11"; //数据库链接 private Connection con=null; //准备声明sql语句 private PreparedStatement pstmt=null; //结果集 private ResultSet rs=null; //影响行数 private int i; /* * 创建驱动 * */ static{ try { Class.forName(Driver_class); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* * 加载驱动 * */ @Test public void getConnect() { // TODO Auto-generated method stub try { con=DriverManager.getConnection(url, user, password); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //判断数据库是否加载成功 if(con!=null){ System.out.println("数据库加载成功!"); }else{ System.out.println("数据库加载失败!"); } } /* * 执行sql语句 * */ public void doSql(String sql,Object[] object) { // TODO Auto-generated method stub //判断sql语句是否存在 if(sql!=null){ //加载驱动 getConnect(); //判断object数组是否存在 if(object==null){ //如果不存在,创建一个,防止出现空指针异常 object=new Object[0]; } try { //声明一条准备的sql语句 pstmt=con.prepareStatement(sql); //为Object对象一一赋值 for(int i=0;i<object.length;i++){ pstmt.setObject(i+1, object[i]); } //执行声明的sql语句 pstmt.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else{ System.out.println("sql语句并不存在!"); } } /* * 获取结果集 * */ public ResultSet getRS(){ try { //获取结果集方法 rs=pstmt.getResultSet(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //返回结果集 return rs; } /* * 获取影响行数 * */ public int getUpdateCount() { // TODO Auto-generated method stub try { //获取影响行数方法 i=pstmt.getUpdateCount(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //返回影响行数 return i; } /* * 关闭方法 * */ public void getClose() { // TODO Auto-generated method stub //关闭结果集 try { //结果集关闭方法 if(rs!=null){ rs.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //关闭声明的sql语句 try { //关闭声明的sql语句方法 if(pstmt!=null){ pstmt.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //卸载驱动 try { //驱动卸载方法 if(con!=null){ con.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
package com.service; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Test; import com.dbdao.mysql.mySqlConnection; public class stuInfoService { //导入mySqlConnection类 mySqlConnection mysqlCon=new mySqlConnection(); //准备sql语句 private String sql; //影响行数(数据变更后,影响行数都是大于0,等于0时没变更,所以说如果变更失败,那么影响行数必定为负) private int i=-1; //结果集 private ResultSet rs; //创建list数组 private List list=null; //判断状态 private boolean state=false; /* * 插入方法 * */ @Test public int insert(String[] object) { // TODO Auto-generated method stub //创建sql语句 sql="insert into t3 (userName,password,sex,age,address) values(?,?,?,?,?) "; //判断Object数组是否存在 if(object!=null){ //判断Object数组是否为空 if(object.length>0){ //执行插入方法 mysqlCon.doSql(sql, object); }else{ System.out.println("object是空数组!"); } }else{ System.out.println("object数组不存在!"); } //获取影响行数 i=mysqlCon.getUpdateCount(); //判断是否插入成功 if(i!=-1){ System.out.println("数据插入成功!"); }else{ System.out.println("数据插入失败!"); } //关闭链接 mysqlCon.getClose(); //返回影响行数 return i; } /* * 删除数据 * */ public int delete(String deleteOption, String deleteValue) { // TODO Auto-generated method stub //创建sql语句 sql="delete from t3 where "+deleteOption+"="+"'"+deleteValue+"' "; //在控制台打印拼接的sql语句 System.out.println("sql语句为:"+sql); //执行sql语句 mysqlCon.doSql(sql, null); //获取影响行数 i=mysqlCon.getUpdateCount(); //判断数据是否插入成功 if(i!=-1){ System.out.println("数据删除成功!"); }else{ System.out.println("数据删除失败!"); } //关闭链接 mysqlCon.getClose(); //返回影响行数 return i; } /* * 更新数据 * */ @Test public int update(String userName, String upOption, String upValue) { // TODO Auto-generated method stub //创建sql语句 sql="update t3 set "+upOption+"="+"'"+upValue+"'"+" where userName="+"'"+userName+"'"; //在控制台打印拼接的sql语句 System.out.println("sql语句为:"+sql); //执行sql语句 mysqlCon.doSql(sql, null); //获取影响行数 i=mysqlCon.getUpdateCount(); //判断数据是否更新成功 if(i!=-1){ System.out.println("数据更新成功!"); }else{ System.out.println("数据更新失败!"); } //关闭链接 mysqlCon.getClose(); //返回影响行数 return i; } /* * 遍历数据 * */ @SuppressWarnings("unchecked") @Test public List select(String[] keyOption, String[] valOption) { // TODO Auto-generated method stub //创建String字符串,用于拼接sql的条件语句 String condition=""; //循环遍历keyOption数组 for(int i=0;i<keyOption.length;i++){ //判断valOption[i]是否存在 if(valOption[i].length()>0){ //拼接sql的条件语句 condition=condition+keyOption[i]+"="+"'"+valOption[i]+"'"+" and "; //在控制台逐条打印sql的条件语句 System.out.println(condition); } } //拼接完成的sql条件语句 System.out.println("语句的拼接结果:"+condition); //判断condition是否为空 if(condition.length()>0){ //剪切拼接的sql条件语句 condition=condition.substring(0,condition.length()-4); } //在控制台打印出来剪切后的sql的条件拼接语句 System.out.println("剪切后的condition语句为:"+condition); //继续拼接成完整的sql语句 sql="select * from t3 where "+condition; //在控制台打印出来拼接的完整语句 System.out.println("完整的sql语句为:"+sql); //循环遍历valOption数组 for(int i=0;i<valOption.length;i++){ //判断valOption[i]元素是否为空 if(valOption[i].length()>0){ //如果不为空则将状态置为true state=true; } } //判断状态 if(true==state){ //如果为TRUE则不进行任何操作 sql=sql; }else{ //如果为false则将sql语句置换成新语句 sql="select * from t3"; } //在控制台打印出最适合的sql语句 System.out.println("适合的sql语句为:"+sql); //执行sql语句 mysqlCon.doSql(sql, null); //获取结果集 rs=mysqlCon.getRS(); //判断结果集是否为空 if(rs!=null){ try { //将光标移动到结果集末端,注意此处不能使用rs.afterLast();否则为空值。 rs.last(); //获取结果集行数 i=rs.getRow(); //判断结果集是否存在 if(i>0){ //将光标移动到结果集前端 rs.beforeFirst(); //创建list队列 list=new ArrayList(); //循环遍历所有行数 while(rs.next()){ //创建Map容器 Map<String,String> map=new HashMap<String,String >(); //遍历每行元素的内容 String userName=rs.getString("userName"); String password=rs.getString("password"); String sex=rs.getString("sex"); String age=rs.getString("age"); String address=rs.getString("address"); //将获取的参数放到Map容器中 map.put("userName", userName); map.put("password", password); map.put("sex", sex); map.put("age", age); map.put("address", address); //将Map容器添加到list队列中 list.add(map); //在控制台打印出每一行的结果 System.out.println("userName:"+userName+" password:"+password+" sex:"+sex+" age:"+age+" address:"+address); } }else{ System.out.println("结果集为空!"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else{ System.out.println("结果集不存在!"); } //关闭链接 mysqlCon.getClose(); //返回list队列 return list; } }
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>servletAction</servlet-name> <servlet-class>com.action.servletAction</servlet-class> </servlet> <servlet-mapping> <servlet-name>servletAction</servlet-name> <url-pattern>/servletAction</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> 插入新的学生<br> <form action="servletAction?action=insert" method="post"> 姓名:<input type="text" name="userName"> 密码:<input type="password" name="password"> 性别:<select name="sex"> <option>男</option> <option>女</option> </select> 年龄:<input type="text" name="age" size="5"> 地址:<input type="text" name="address"> <input type="submit" value="确定"><input type="reset" value="重置"> </form> 修改学生信息<br> <form action="servletAction?action=update" method="post"> 姓名:<input type="text" name="userName"> <select name="upOption"> <option>请选择</option> <option>姓名</option> <option>密码</option> <option>性别</option> <option>年龄</option> <option>地址</option> </select> <input type="text" name="upValue" > <input type="submit" value="确定"><input type="reset" value="重置"> </form> 删除学生信息<br> <form action="servletAction?action=delete" method="post"> <select name="delOption"> <option>id</option> <option>姓名</option> <option>密码</option> <option>性别</option> <option>年龄</option> <option>地址</option> </select> <input type="text" name="delValue" > <input type="submit" value="确定"><input type="reset" value="重置"> </form> 查询学生信息<br> <form action="servletAction?action=select" method="post"> 姓名:<input type="text" name="userName"> 密码:<input type="password" name="password"> 性别:<select name="sex"> <option>请选择</option> <option>男</option> <option>女</option> </select> 年龄:<input type="text" name="age" size="5"> 地址:<input type="text" name="address"> <input type="submit" value="确定"><input type="reset" value="重置"> </form> </body> </html>
查询结果界面:
原文地址:http://blog.csdn.net/zzy1078689276/article/details/46128465