JavaWeb应用实例:用servlet实现oracle 基本增删改查
发布时间 - 2026-01-10 22:26:53 点击率:次很久没有写博客了,可能是太懒散,不愿意把时间花在这上面,可是我心里还是知道写博客的重要性的 ,所以从今天开始 ,我将与大家分享一下我学Java WEB写的一些小实例 ,我个人是不太喜欢书本上的晦涩的概念的,所以我花了更多的时间在一些应用实例上,我觉得这样的学习方式很适合我,由简到繁,由浅入深

废话不多话,开始我们的第一个实例:
servlet实现Oracle 基本增删改查
开发环境:JDK7 +Myeclipse10+tomcat7.0+oracle 11g
首先附上数据库创建脚本:
create table student( id VARCHAR2(50) PRIMARY KEY NOT NULL, name varchar2(50) NOT NULL, calssGrent varchar2(50) NOT NULL , result varchar(12) NOT NULL ); insert into student(id,name,calssGrent,result) values(perseq.nextval,'张三','33','98')
下图为代码结构图和功能演示界面做的比较糟糕 只为实现功能:
MMC_01.Java
页面 //主界面提供添加,修改删除的方法
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oracle.jdbc.oracore.TDSPatch;
public class MMC_01 extends HttpServlet
{
// 驱动程序就是之前在classpath中配置的jdbc的驱动程序的jar包中
// 连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
// 连接数据库的用户名
public static final String DBUSER = "scott";
// 连接数据库的密码
public static final String DBPASS = "tiger";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//设置请求和响应的编码 ,不然页面上容易出现乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
//输出流
PrintWriter out = response.getWriter();
//数据库连接代码
try
{
Connection conn = null; // 表示数据库的连接的对象
Statement stmt = null; // 表示数据库的更新操作
String sql="insert into student(id,name,calssGrent,result) values('67','刘12宇','33','98')";
System.out.println(sql) ;
// 1、使用Class类加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、连接数据库
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、Statement接口需要通过Connection接口进行实例化操作
stmt = conn.createStatement();
//用 rs获取查询结果 ,这里的SQL语句最好不要用* 我的字段比较少所以就偷一下懒,-,-
ResultSet rs=stmt.executeQuery("select *from student");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//输出表头部分
out.print("<table align='center' border='1'><tr><td>姓名" +
"</td><td>班级</td><td>成绩</td><td>修改</td><td>删除</td></tr>");
while(rs.next())
{
//获取数据库中的ID
String id=rs.getString("id");
//输出一列元素
out.print("<tr><td>"+rs.getString("name")
+"</td><td>"+rs.getString("calssGrent")+"" +
"</td><td>"+rs.getString("result")+"</td>" +
"<td><a href='UpdatePage?id="+id+"'>修改</a></td>" +
"<td><a href='delete?id="+id+"'> 删除 </a></td></tr>");
}
out.println("<td><a href=AddPage>添加数据</a></td>");
out.println(" </BODY>");
out.println("</HTML>");
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
out.flush();
out.close();
}
}
UpdatePage.java //获取要修改的数据 ,并把修改过的数据提交给Update
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.crypto.provider.RSACipher;
public class UpdatePage extends HttpServlet
{
// 连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
// 连接数据库的用户名
public static final String DBUSER = "scott";
// 连接数据库的密码
public static final String DBPASS = "tiger";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String id=request.getParameter("id");
//设置请求和响应的编码 ,不然页面上容易出现乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
PrintWriter out = response.getWriter();
try
{
Connection conn = null; // 表示数据库的连接的对象
Statement stmt = null; // 表示数据库的更新操作
// 1、使用Class类加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、连接数据库
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、Statement接口需要通过Connection接口进行实例化操作
stmt = conn.createStatement();
//用 rs获取查询结果 ,这里的SQL语句最好不要用* 我的字段比较少所以就偷一下懒,-,-
ResultSet rs=stmt.executeQuery("select *from student where id='"+id+"'");
while (rs.next())
{
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//输入成绩的表单,提交至Update
out.print(" <form action='Update' method='post'> ");
out.print("<table align='center'> <tr><td>姓名:<input type='text' value='"+rs.getString("name")+"'
name='name' size=20 ></td></tr>");
out.print("<tr><td>班级:<input type='text' value='"+rs.getString("calssGrent")+"' name='grent' size=20></td></tr>");
out.print("<tr><td>成绩:<input type='text' value='"+rs.getString("result")+"' name='result' size=20></td></tr>");
//为了作为查询数据库的条件 ,这里要把ID传过去
out.print("<input type='hidden' value='"+id+"' name='id'>");
out.print("<tr><td><input type='submit' value='修改'><input type='reset' value='重置'></td></tr></table></form>");
out.print(" </BODY>");
out.println("</HTML>");
}
out.flush();
out.close();
}
catch (Exception e) {
e.printStackTrace();// TODO: handle exception
}
}
}
Update.java 接收要修改的数据 ,并更新数据库
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Update extends HttpServlet
{
// 驱动程序就是之前在classpath中配置的jdbc的驱动程序的jar包中
// 连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
// 连接数据库的用户名
public static final String DBUSER = "scott";
// 连接数据库的密码
public static final String DBPASS = "tiger";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
PrintWriter out = response.getWriter();
Connection conn = null; // 表示数据库的连接的对象
Statement stmt = null; // 表示数据库的更新操作
//获取表单提交的参数
String id=request.getParameter("id");
System.out.println(id);
String name=request.getParameter("name");
String grent=request.getParameter("grent");
String result=request.getParameter("result");
//更新SQL
String sqlString="update student set name='"+name+"' ," +
"calssGrent='"+grent+"',result='"+result+"' where id='"+id+"' ";
// 1、使用Class类加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、连接数据库
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
// 3、Statement接口需要通过Connection接口进行实例化操作
stmt = conn.createStatement();
int pd=stmt.executeUpdate(sqlString);
if(pd!=0)
{
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" 更新成功<br><a href=MMC_01>查看列表</a> ");
out.println(" </BODY>");
out.println("</HTML>");
}
out.flush();
out.close();
stmt.close();
conn.close();
}
catch (Exception e)
{
// TODO: handle exception
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
addPage .java,添加数据页面
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddPage extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//设置请求和响应的编码 ,不然页面上容易出现乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
//输入成绩的表单,提交至add
out.print(" <form action='Add' method='post'> ");
out.print("<table align='center'> <tr><td>姓名:<input type='text' name='name' size=20 ></td></tr>");
out.print("<tr><td>班级:<input type='text' name='grent' size=20></td></tr>");
out.print("<tr><td>成绩:<input type='text' name='result' size=20></td></tr>");
out.print("<tr><td><input type='submit' value='添加'><input type='reset' value='重置'></td></tr></table></form>");
out.println("<tr><td><a href=MMC_01>查看列表</a></td></tr>");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
add 接收addpage传来的传,更新数据库
package org.lsy.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.org.apache.xerces.internal.impl.io.UTF8Reader;
import oracle.jdbc.oracore.TDSPatch;
public class Add extends HttpServlet
{
// 驱动程序就是之前在classpath中配置的jdbc的驱动程序的jar包中
// 连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:LIUSY";
// 连接数据库的用户名
public static final String DBUSER = "scott";
// 连接数据库的密码
public static final String DBPASS = "tiger";
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
// TODO Auto-generated method stub
doGet(req, resp);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//设置请求和响应的编码 ,不然页面上容易出现乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;UTF-8");
//输出流
PrintWriter out = response.getWriter();
//数据库连接代码
try
{
Connection conn = null; // 表示数据库的连接的对象
Statement pstmt = null; // 表示数据库的更新操作
String nameString=request.getParameter("name");
String grentString=request.getParameter("grent");
String resultString=request.getParameter("result");
System.out.print(nameString);
String sql="insert into student(id,name,calssGrent,result)
values(perseq.nextval,'"+nameString+"','"+grentString+"','"+resultString+"')";
// 1、使用Class类加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2、连接数据库
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
pstmt=conn.createStatement();
int pd=pstmt.executeUpdate(sql);
if (pd!=0)
{
out.println("添加成功");
out.println("<br><a href=MMC_01>查看列表</a>");
}
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
out.flush();
out.close();
}
}
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"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet-name>MMC_01</servlet-name> <servlet-class>org.lsy.servlet.MMC_01</servlet-class> </servlet> <servlet> <servlet-name>delete</servlet-name> <servlet-class>org.lsy.servlet.delete</servlet-class> </servlet> <servlet> <servlet-name>Add</servlet-name> <servlet-class>org.lsy.servlet.Add</servlet-class> </servlet> <servlet> <servlet-name>AddPage</servlet-name> <servlet-class>org.lsy.servlet.AddPage</servlet-class> </servlet> <servlet> <servlet-name>UpdatePage</servlet-name> <servlet-class>org.lsy.servlet.UpdatePage</servlet-class> </servlet> <servlet> <servlet-name>Update</servlet-name> <servlet-class>org.lsy.servlet.Update</servlet-class> </servlet> <servlet-mapping> <servlet-name>MMC_01</servlet-name> <url-pattern>/MMC_01</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>delete</servlet-name> <url-pattern>/delete</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Add</servlet-name> <url-pattern>/Add</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>AddPage</servlet-name> <url-pattern>/AddPage</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>UpdatePage</servlet-name> <url-pattern>/UpdatePage</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Update</servlet-name> <url-pattern>/Update</url-pattern> </servlet-mapping> </web-app>
本人并非老鸟,一直处于学习中,有什么错误的地方还请指证,上面的代码有很多重复的部分,很多不合理的地方 ,比较数据库连接直接暴露于操作servlet中 ,为了看的更直观 ,我就没有更改……
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# servlet增删改查
# servlet
# jdbc增删改查
# jsp
# IDEA JavaWeb项目启动运行后出现404错误的解决方法
# IDEA部署JavaWeb项目到Tomcat服务器的方法
# JavaWeb JDBC + MySql 通讯录实现简单的增删改查功能案例详解
# 使用idea开发javaWeb应用程序的思路(实现用户的增删改查)
# 连接数据库
# 是由
# 表单
# 加载
# 出现乱码
# 包中
# 查询结果
# 不要用
# 比较少
# 有什么
# 我就
# 我觉得
# 第一个
# 不太
# 有很多
# 结构图
# 由浅入深
# 不愿意
# 要把
# 博客
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何快速完成中国万网建站详细流程?
如何在IIS中新建站点并配置端口与物理路径?
Android使用GridView实现日历的简单功能
大连网站制作公司哪家好一点,大连买房网站哪个好?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
如何在腾讯云服务器上快速搭建个人网站?
网站建设要注意的标准 促进网站用户好感度!
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Windows Hello人脸识别突然无法使用
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
香港服务器选型指南:免备案配置与高效建站方案解析
,南京靠谱的征婚网站?
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
长沙企业网站制作哪家好,长沙水业集团官方网站?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
Laravel如何实现文件上传和存储?(本地与S3配置)
如何在建站宝盒中设置产品搜索功能?
JS弹性运动实现方法分析
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
如何用好域名打造高点击率的自主建站?
Laravel如何实现用户密码重置功能?(完整流程代码)
nodejs redis 发布订阅机制封装实现方法及实例代码
Mybatis 中的insertOrUpdate操作
如何在IIS中新建站点并解决端口绑定冲突?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
做企业网站制作流程,企业网站制作基本流程有哪些?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
个人摄影网站制作流程,摄影爱好者都去什么网站?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何快速查询网址的建站时间与历史轨迹?
如何将凡科建站内容保存为本地文件?
如何用腾讯建站主机快速创建免费网站?
java获取注册ip实例
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)

