通过servlet来实现对Mysql进行连接、插入、修改、删除操作

来自:http://blog.sina.com.cn/s/blog_4bea2fb10100f3w3.html

package Servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import src.Logg;
import src.MysData;

public class UserServlet extends HttpServlet {
   Logg log=new Logg();
   MysData usr=new MysData();

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, SQLException{
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
   //java.sql.Connection conn=log.ConnectMysql();不能在这里这样写。具体在操作函数里连接,见后面。
    usr.setName(request.getParameter("username"));
    usr.setPassword(request.getParameter("password"));
    usr.setEmail(request.getParameter("email"));
    String de=request.getParameter("eee");//从不同的form过来的隐藏属性字段“eee”,通过对其值的判断就知道说哪个form,然后执行不同的操作
    if(de.equals("qq")){
            log.InsertSql(usr);
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet NewServlet at " + request.getContextPath () + "</h1>");
            out.println("wewewe");
            out.println("<br>");
            out.println(request.getAttributeNames());
            out.println("注册成功!");
            out.println(de);
            out.println("</body>");
            out.println("</html>");
    }else if(de.equals("cha")){
        String password= request.getParameter("password");
        //String email= request.getParameter("email");
        //String userid=request.getParameter("userid");
        //下面的5是随便设置的值,很明显,这个值应该是当然登陆的用户的值,那么这个值如何获得呢?明天研究。//后来研究了下,通过session来弄的。后面有用到session,但是只是简单弄了下。
        String upsql="update user set password="+password+" where userid=5";
        out.print(upsql);
       
        log.UpdateSql(upsql);
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet NewServlet at " + request.getContextPath () + "</h1>");
            out.println("wewewe");
            out.println("<br>");
            out.println(request.getAttributeNames());
            out.println("修改成功!");
            out.println(de);
            out.println("</body>");
            out.println("</html>");

}else if(de.equals("logg")){
                    HttpSession session=request.getSession(true);
                    Logg logg=new Logg();

String username=request.getParameter("username");
                    String password=request.getParameter("password");

String sql="select * from user where username="+username+" and password="+password;
                   
                    ResultSet rs=logg.SelectSql(sql);

下面这段代码之所有有问题,是因为不是根据主键来获取的。导致获取的数据可能很多条相同的。回头再研究下主键。
                       session.setAttribute("username", username);

out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet NewServlet</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet NewServlet at " + request.getContextPath () + "</h1>");
            out.println("登录成功!");
            out.println(de);
            out.println("<br>");
            out.println(session.getAttribute("username")+"");
            out.println(sql);
        //    out.println(username2);
            out.println("<br>");
            out.println(request.getAttributeNames());
            out.println();
            out.println("</body>");
            out.println("</html>");
            out.flush();
    }
        } finally {
            out.close();
        }
    }

// <editor-fold defaultstate="collapsed" desc="HttpServlet 方法。单击左侧的 + 号以编辑代码。">
   
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(UserServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print("weeeeeeeeeeeeeeeeee");
       
    }

@Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(UserServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

@Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

***********************************************************************************

//把上次的那个logg类里的查询操作的返回值改了下。
         public ResultSet SelectSql(String sql){
             try{
                 conn=this.ConnectMysql();//见上面。在操作之前链接。
                 Statement statement=conn.createStatement();
                 rs=statement.executeQuery(sql);
                 while(rs.next()){
                     name=rs.getString("username");
                     System.out.println(rs.getString("userid")+name+rs.getString("email"));
                  }
             }catch(Exception e){
                 e.printStackTrace();
             }
            return rs;
         }

******************************************************************************************

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page555</title>
    </head>
    <body>
        <h1>Hello World!22222</h1>
        <form method="POST" action="/ServLogg/UserServlet">

//下面这个“eee”就是上面提到的隐藏域。也可以写到 <form method="POST" action="/ServLogg/UserServlet?eee=qq">在servlet后面加问号,然后再设定隐藏域参数及其值,和下面使用的hidden隐藏域方法一样的效果,但下面的方法可以设置多个隐藏域的值

<input type="hidden" name="eee" value="qq">
            用户名:<input type="text" name="username"><br>
            密码:<input type="text" name="password"><br>
            邮箱<input type="text" name="email"><br><br>

<input type="submit" name="submit" value="确定">
            <input type="reset" name="reset" value="重置">

</form>
    </body>
</html>

**************************************************

通过servlet来实现对Mysql进行连接、插入、修改、删除操作相关推荐

  1. 超详细的hibernate实现对MySQL的CRUD

    超详细的hibernate实现对MySQL的CRUD 文章目录 超详细的hibernate实现对MySQL的CRUD 前言 一.操作前的准备 1.创建maven项目 2.导入maven依赖 3.创建实 ...

  2. maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...

    标签: 本篇内容还是建立在上一篇Java Web学习系列--Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Ja ...

  3. Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解

    目录 一.项目介绍 二.项目基本配置 2.1 安装MySQL 2.2 创建Qt项目 2.3 移动libmysql.dll文件 三.UI界面设计 四.主程序实现 4.1 pro文件 4.2 main.c ...

  4. Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用

    Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用 前言 做DBA,最基本的工作就是需要管理公司的数据库系统.工作中,常常需要维护的数据库数量是非常多的.小 ...

  5. 【五一创作】使用Scala二次开发Spark3.3.0实现对MySQL的upsert操作

    使用Scala二次开发Spark实现对MySQL的upsert操作 背景 在我们的数仓升级项目中,遇到了这样的场景:古人开发的任务是使用DataStage运算后,按照主键[或者多个字段拼接的唯一键]来 ...

  6. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  7. 使用计算机断开终端连接,“由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作...

    "由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作 来源:未知 作者:老黑 时间:09-11-24 [打印] "由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作 ...

  8. 学会对mysql的增删改查_Go实现对MySQL的增删改查

    开发环境:windows7 64位.编辑器是sublime text3. 直接添上代码了,代码中有注释. 注:需要提前下载github.com/go-sql-driver/mysql,下面的程序才会运 ...

  9. zabbix实现对mysql数据库的监控

    安装.配置zabbix,请点击这里 文章目录 实验环境: 数据库安装&配置: 系统自带的基础监控项目: 配置自己的mysql监控模版 实验环境: server1:Zabbix server + ...

最新文章

  1. Artificial Intelligence Yourself
  2. 类似人手的手部假肢相关研究登上Science子刊封面
  3. oracle监听器启动错误-TNS-12546: TNS:permission denied
  4. 人脸关键点 HRNet-Facial-Landmark-Detection
  5. glomosim仿真的运行过程
  6. php 调试环境配置
  7. bat 设置变量带中文
  8. OpenGL超级宝典(第7版)笔记9 基元装配 裁剪 光栅化
  9. matlab 对信号抽样,matlab信号抽样与恢复
  10. html中加入emjio表情,jqueryemoji表情插件
  11. 上载人生(数字天堂)
  12. SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
  13. java 坦克大战画坦克_Java坦克大战部分:画出界面,敌人坦克,我的坦克,不出界,键盘事件【诗书画唱】...
  14. python如何裁剪图像
  15. kali2020之chrome安装代理插件
  16. Ansys·Icem·T型喷管的网格生成
  17. 浮点数双精度,单精度以及半精度知识总结
  18. (2021)Top5 免费视频编辑软件,视频剪辑必备工具
  19. PayPal/Stripe/Square轮询收单系统附赠服务
  20. java随机两个数组

热门文章

  1. break continue
  2. linux查看系统启动时间
  3. c51语言花样流水灯汇编程序,基于51单片机的各种花样的流水灯c51程序
  4. 6-2 是否二叉搜索树 (25 分)
  5. 大数据分析的意义在哪
  6. 大数据可视化需要遵循哪几个核心原则
  7. 大数据在农业农村的应用
  8. 如何构造大数据分析平台
  9. oracle 单表查重,Oracle如何用单字段或多字段进行查重
  10. sqlserver201无效的许可证书_sql提示无效数字