servlet的增删改查
来源:互联网 发布:淘宝怎样增加销量 编辑:程序博客网 时间:2024/05/22 00:28
这是一个简单的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,因为数据操作后的返回结果不为-1private 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-8request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取页面路径请求参数actionString 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-8request.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-8request.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 stubSystem.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或者是StringSystem.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-8request.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状态为truestate=true;}}else{//改变state状态为truestate=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 blocke.printStackTrace();}}/* * 加载驱动 * */@Testpublic void getConnect() {// TODO Auto-generated method stubtry {con=DriverManager.getConnection(url, user, password);} catch (SQLException e) {// TODO Auto-generated catch blocke.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 blocke.printStackTrace();}}else{System.out.println("sql语句并不存在!");}}/* * 获取结果集 * */public ResultSet getRS(){try {//获取结果集方法rs=pstmt.getResultSet();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}//返回结果集return rs;}/* * 获取影响行数 * */public int getUpdateCount() {// TODO Auto-generated method stubtry {//获取影响行数方法i=pstmt.getUpdateCount();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}//返回影响行数return i;}/* * 关闭方法 * */public void getClose() {// TODO Auto-generated method stub//关闭结果集try {//结果集关闭方法if(rs!=null){rs.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//关闭声明的sql语句try {//关闭声明的sql语句方法if(pstmt!=null){pstmt.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//卸载驱动try {//驱动卸载方法if(con!=null){con.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}
stuInfoService.java源代码:
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;/* * 插入方法 * */@Testpublic 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;}/* * 更新数据 * */@Testpublic 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")@Testpublic 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){//如果不为空则将状态置为truestate=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 blocke.printStackTrace();}}else{System.out.println("结果集不存在!");}//关闭链接mysqlCon.getClose();//返回list队列return list;}}
web.xml源代码:
<?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>
index.jsp源代码:
<%@ 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>
查询结果界面:
0 0
- servlet的增删改查
- servlet增删查改
- jsp+servlet的增删改查页面
- jsp + servlet 增删改查
- easyui+servlet增删改查
- 最简单的jsp+servlet的增删改查代码
- extjs3.4+mysql+servlet的简单增删改查 分页
- jsp+servlet+jdbc实现对数据库的增删改查
- 使用Servlet实现增删改查的功能
- servlet jsp一套完整的增删查改思路
- 初次使用servlet实现对数据的增删改查
- Jsp+Servlet对数据库的增删改查
- jsp+servlet+jdbc实现对数据库的增删改查
- jsp+servlet+jdbc实现对数据库的增删改查
- jsp+servlet+jdbc实现对数据库的增删改查
- servlet+jsp数据库增删改查实例
- mysql+jsp+servlet 增删改查实例
- jsp+javabean+servlet实现增删改查
- ARMv8 與 Linux的新手筆記
- ACL权限
- 水波纹效果
- const char*, char const*, char*const的区别
- Codeforces Round #305 (Div. 2), problem: (A) Mike and Fax
- servlet的增删改查
- 软考之下午题
- 圆形头像
- Service通信(service介绍之二)
- Android 怎么使用Bitmap+Canvas 自适应屏幕
- 秒杀核心设计(减库存部分)-防超卖与高并发
- openstack Juno版部署记录
- UAC提升权限的细节
- C语言做的键盘操作的五子棋