通过servlet来实现对Mysql进行连接、插入、修改、删除操作
通过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进行连接、插入、修改、删除操作相关推荐
- 超详细的hibernate实现对MySQL的CRUD
超详细的hibernate实现对MySQL的CRUD 文章目录 超详细的hibernate实现对MySQL的CRUD 前言 一.操作前的准备 1.创建maven项目 2.导入maven依赖 3.创建实 ...
- maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...
标签: 本篇内容还是建立在上一篇Java Web学习系列--Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Ja ...
- Qt实战案例(28)——利用QSQL相关类实现对MySQL数据库的基本操作及相关设置详解
目录 一.项目介绍 二.项目基本配置 2.1 安装MySQL 2.2 创建Qt项目 2.3 移动libmysql.dll文件 三.UI界面设计 四.主程序实现 4.1 pro文件 4.2 main.c ...
- Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用
Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用 前言 做DBA,最基本的工作就是需要管理公司的数据库系统.工作中,常常需要维护的数据库数量是非常多的.小 ...
- 【五一创作】使用Scala二次开发Spark3.3.0实现对MySQL的upsert操作
使用Scala二次开发Spark实现对MySQL的upsert操作 背景 在我们的数仓升级项目中,遇到了这样的场景:古人开发的任务是使用DataStage运算后,按照主键[或者多个字段拼接的唯一键]来 ...
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
- 使用计算机断开终端连接,“由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作...
"由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作 来源:未知 作者:老黑 时间:09-11-24 [打印] "由于终端连接目前正在忙于处理一个连接断开连接复位或删除操作 ...
- 学会对mysql的增删改查_Go实现对MySQL的增删改查
开发环境:windows7 64位.编辑器是sublime text3. 直接添上代码了,代码中有注释. 注:需要提前下载github.com/go-sql-driver/mysql,下面的程序才会运 ...
- zabbix实现对mysql数据库的监控
安装.配置zabbix,请点击这里 文章目录 实验环境: 数据库安装&配置: 系统自带的基础监控项目: 配置自己的mysql监控模版 实验环境: server1:Zabbix server + ...
最新文章
- Artificial Intelligence Yourself
- 类似人手的手部假肢相关研究登上Science子刊封面
- oracle监听器启动错误-TNS-12546: TNS:permission denied
- 人脸关键点 HRNet-Facial-Landmark-Detection
- glomosim仿真的运行过程
- php 调试环境配置
- bat 设置变量带中文
- OpenGL超级宝典(第7版)笔记9 基元装配 裁剪 光栅化
- matlab 对信号抽样,matlab信号抽样与恢复
- html中加入emjio表情,jqueryemoji表情插件
- 上载人生(数字天堂)
- SQLSERVER走起微信公众帐号已经开通搜狗微信搜索
- java 坦克大战画坦克_Java坦克大战部分:画出界面,敌人坦克,我的坦克,不出界,键盘事件【诗书画唱】...
- python如何裁剪图像
- kali2020之chrome安装代理插件
- Ansys·Icem·T型喷管的网格生成
- 浮点数双精度,单精度以及半精度知识总结
- (2021)Top5 免费视频编辑软件,视频剪辑必备工具
- PayPal/Stripe/Square轮询收单系统附赠服务
- java随机两个数组