javaweb之修改功能
数据库的修改功能,主要是通过查询,保留之前的数据,得到当前想要修改的页面,并进行修改。
一.dao层
在dao层需要添加两个fangfa,一个查询,一个修改(这是整个dao层,包括之前的增删、浏览)
package dao; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; //import com.mysql.cj.protocol.ResultBuilder; import Bean.Course;
import util.DBUtil; public class daoCourse { public boolean add(Course n)
{
boolean f=false;
int a=0;
String sql="insert submitcourse(classname,teachername,place) values(?,?,?)";
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,n.getClassname());
pstmt.setString(2,n.getTeachername());
pstmt.setString(3,n.getPlace());
a=pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(a>0) f=true;
return f;
}
public boolean delete(Course n) {
boolean f=false;
int a=0;
String sql="delete from submitcourse where teachername=?";
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,n.getTeachername());
a=pstmt.executeUpdate();
System.out.println("fuck you");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(a>0) f=true;
return f;
}public List<Course> list(){
String sql="select * from submitcourse";
List<Course> list=new ArrayList<>();
ResultSet rs=null;
Course ns=new Course();
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
// pstmt.setString(1,n.getTeachername());
rs=pstmt.executeQuery();
while(rs.next())
{
ns=new Course(rs.getString(1),rs.getString(2),rs.getString(3));
list.add(ns);
}
//System.out.println(rs);
System.out.println(rs);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public boolean update(Course n,String old_teachername){//修改信息
boolean f=false;
int a=0;
String sql = "update submitcourse set classname='"+n.getClassname()+"',teachername='"+n.getTeachername()+"',place='"+n.getPlace()+"' where teachername='"+old_teachername+"'";
try {
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
a=pstmt.executeUpdate();
System.out.println(a);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(a>0) f=true; return f; }
public Course queryByTeachername(String teachername) {//查询信息
String sql="select * from submitcourse where teachername=?";
Course n=new Course();
try {
ResultSet rs=null;
Connection conn=DBUtil.getConnection();
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,teachername);
rs=pstmt.executeQuery();
while(rs.next()) {
n=new Course(rs.getString(1), rs.getString(2),rs.getString(3));
}
System.out.println("fuck you");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return n ; }
}
二。servlert层
servlet里面主要也是两个方法,用来传参交互。(这是整个servlet层,包括增删、浏览)
package servlet; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import Bean.Course;
import dao.daoCourse; /**
* Servlet implementation class course_servlet
*/
@WebServlet("/course_servlet")
public class course_servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
daoCourse gooddao=new daoCourse();
/**
* @see HttpServlet#HttpServlet()
*/
public course_servlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String method=request.getParameter("method");
if("add".equals(method))
{
String teachername=request.getParameter("teachername");
String classname=request.getParameter("classname");
String place=request.getParameter("place");
Course n=new Course(classname,teachername,place);
gooddao.add(n);
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("NewFile2.jsp").forward(request, response);
} else if("delete".equals(method)) {
String teachername=request.getParameter("teachername");
Course n=new Course();
n.setTeachername(teachername);
gooddao.delete(n);
request.setAttribute("message", "删除成功");
request.getRequestDispatcher("course_servlet?method=looklist").forward(request, response);
}
else if("looklist".equals(method)) {
List<Course> nt= gooddao.list();
request.setAttribute("nt", nt);
System.out.println("王建民");
request.getRequestDispatcher("NewFile3.jsp").forward(request, response);
}
else if("queryByTeachername".equals(method))
{
String teachername=request.getParameter("teachername");
Course n=new Course();
System.out.println("8888");
n.setTeachername(teachername);
n= gooddao.queryByTeachername(teachername);
request.setAttribute("n", n);
request.getRequestDispatcher("update.jsp").forward(request, response);
}
else if("update".equals(method))
{
String teachername=request.getParameter("teachername");
String classname=request.getParameter("classname");
String place=request.getParameter("place");
String old_teachername=request.getParameter("old_teachername");
Course n=new Course(classname,teachername,place);
gooddao.update(n,old_teachername);
request.setAttribute("message", "添加成功");
request.getRequestDispatcher("course_servlet?method=looklist").forward(request, response);
} } }
三.写jap
在之前文章的原有的基础上,再加入一个update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="Bean.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Course n=(Course)request.getAttribute("n");
%>
<form action="course_servlet?method=update" method="post">
<input type="hidden" name="old_teachername" value="<%=n.getTeachername()%>"/>
课程名称:<input type="text" name="classname" id="classname" value="<%=n.getClassname()%>"><br>
教师姓名:<input type="text" name="teachername" id="teachername" value="<%=n.getTeachername()%>"><br>
教学地点:<input type="text" name="place" id="place" value="<%=n.getPlace()%>">
<input type="submit" value="修改">
</form>
</body>
</html>
四.运行结果
点击修改进入修改页面

点击修改
修改成功
下一篇文章写模糊查询!!!!!!!
javaweb之修改功能的更多相关文章
- php大力力 [052节] php数据库页面修改功能
php大力力 [052节] php数据库页面修改功能
- ajax 实现修改功能
这段时间在做项目,发现自己忘得好快呀,幸亏有博客园帮我记着呢,整理博客园简直不要太重要了哦 因为做的是一个内部管理系统,只用了一个主页面,所有的都不允许整个网页刷新,所以我们只能用ajax 来做,当 ...
- JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能
1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建data ...
- SpringMVC由浅入深day01_9商品修改功能开发
9 商品修改功能开发 9.1 需求 操作流程: 1.进入商品查询列表页面 2.点击修改,进入商品修改页面,页面中显示了要修改的商品(从数据库查询) 要修改的商品从数据库查询,根据商品id(主键)查询商 ...
- 系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面
改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionS ...
- 如何使Label有修改功能
如何使Label有修改功能 之前制作一个项目时需要这样一个功能: 双击Label, 随后Label变为TextBox,用户修改后回车,TextBox变回Label 之前使用WPF做了一个,代码如下: ...
- 轻松搭建CAS 5.x系列(5)-增加密码找回和密码修改功能
概述说明 CAS内置了密码找回和密码修改的功能: 密码找回功能是,系统会吧密码重置的连接通过邮件或短信方式发送给用户,用户点击链接后就可以重置密码,cas还支持预留密码重置的问题,只有回答对了,才可以 ...
- javaweb之删除功能
对数据库的删除,主要是通过表中的一个数据查询来进行逐个删除,否则会清空整张表. 一.dao层 在dao层加入删除方法 public boolean delete(Course n) { boolean ...
- JAVAWEB实现增删查改(图书信息管理)之修改功能实现
首先通过点击index.jsp页面的修改按钮,获取该行的id:↓ 其次,跳转到updateBooks.jsp页面进行修改信息,页面代码如下:↓ <%@ page import="Boo ...
随机推荐
- VirtualBox虚拟机--桥接模式
问题概述:VirtualBox虚拟机设置桥接模式,与宿主机互相ping通. 注:如果按照以下方式设置了还是ping不通,查看虚拟机防火墙是否已关. 公司电脑拿去维修了,在自己家里电脑上部署项目开发环境 ...
- laravel7 实现阿里云大文件上传
1:新创一个桶名 2:下载SDK 3: 4: php编辑器 终端运行 5:阿里云复制代码 6:获取秘钥和毽 7: 控制器书写代码:切记引入oss namespac App\Http\Controlle ...
- JSP 表单提交 数据库乱码解决方法
问题:有时候在做jsp逻辑处理时,比如提交表单,从前台注册的页面提交了一部分的数据,但是后面处理的JSP页面通过 request.getParameter 调用时,获取到的是一堆乱码. 乱码分析:因为 ...
- LGP5312题解
压 位 T r i e 入 门 练 习 题(确信) 题意很清楚( 让我们先来想一想,如果没有排序操作的话,这道题应该怎么做. 我们维护一个 \(x\) 表示从开始到现在一共异或上了 \(x\),在序列 ...
- SQL注入及防止SQL注入
•SQL注入 SQL注入是通过操作输入来修改事先定义好的SQL语句,对用户输入的字符串进行过滤,转义,限制或处理不严谨,导致用户可以通过输入精心构造的字符串去非法获取到数据库中的数据,以达到执行代码对 ...
- PCI协议 总结
1.引脚 必要的引脚在左边,任选的引脚在右边 2.CLK in:时钟输入,为所有PCI上的接口传送提供时序.其频率也称为PCI的工作频率. 大部分信号都在CLK的上升沿有效 3.AD0~AD31 t/ ...
- Java基础——方法的调用
Java基础--方法的调用 总结: 1. 在同一个类中-- 对于静态方法,其他的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ...
- Spring Security实现统一登录与权限控制
1 项目介绍 最开始是一个单体应用,所有功能模块都写在一个项目里,后来觉得项目越来越大,于是决定把一些功能拆分出去,形成一个一个独立的微服务,于是就有个问题了,登录.退出.权限控制这些东西怎么办呢? ...
- Java基础知识 String StringBuffer StringBuilder三者的区别(面试题)
相同点:String.StringBuffer.StringBuilder最终底层存储与操作的都是char数组,StringBuffer和StringBuilder都继承了AbstractString ...
- Java中的序列化Serialable
Java中的序列化Serialable https://blog.csdn.net/caomiao2006/article/details/51588838