今日主题:JavaWeb后端jsp之增删改查

实体类:

Student.java:

package cn.itcast.model.entity;

public class Student {
private int sid;
private String sname;
private int score;
//private Sex sex;用外键对象替代外键字段。
private int sexid;
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public int getSexid() {
return sexid;
}
public void setSexid(int sexid) {
this.sexid = sexid;
}
public Student(int sid, String sname, int score, int sexid) {
super();
this.sid = sid;
this.sname = sname;
this.score = score;
this.sexid = sexid;
} }

Sex.java:

package cn.itcast.model.entity;

public class Sex {
private int sexid;
private String sexname;
public int getSexid() {
return sexid;
}
public void setSexid(int sexid) {
this.sexid = sexid;
}
public String getSexname() {
return sexname;
}
public void setSexname(String sexname) {
this.sexname = sexname;
}
public Sex(int sexid, String sexname) {
super();
this.sexid = sexid;
this.sexname = sexname;
} }

Dao类:

StudentDao.java:

package cn.itcast.model.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import cn.itcast.model.entity.Student; public class StudentDao {
//删除多条记录
public int deleteByIds(String[] sids) {
// 声明Connection对象
Connection con = null;
PreparedStatement psm = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql6 = "delete from student where sid in (";
for(String str:sids) {
sql6+="?"+",";
}
sql6=sql6.substring(0, sql6.length()-1);
sql6+=")";
psm = con.prepareStatement(sql6);
for(int i=1;i<=sids.length;i++) {
psm.setString(i, sids[i-1]);
} int rs=psm.executeUpdate();//获得结果集游标
return rs; } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return 0;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return 0;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return 0;
} finally {
try {
psm.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} }
}
//查询指定的信息
public Student findOnly(int sid){
// 声明Connection对象
Connection con = null;
PreparedStatement psm = null;
ResultSet rs = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql5 = "select * from student where sid=?";
psm = con.prepareStatement(sql5);
psm.setInt(1, sid);
rs=psm.executeQuery();//获得结果集游
if(rs.next()) {
Student s=new Student(rs.getInt("sid"),rs.getString("sname"),rs.getInt("score"),rs.getInt("sexid"));
return s;
}else {
return null;
} } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return null;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return null;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
} finally {
try {
psm.close();
rs.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} }
}
//修改
public boolean Update(Student stu){
// 声明Connection对象
Connection con = null;
PreparedStatement psm = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql4= "update student set sname=?,score=?,sexid=? where sid=?"; psm = con.prepareStatement(sql4);
psm.setString(1, stu.getSname());
psm.setInt(2, stu.getScore());
psm.setInt(3,stu.getSexid());
psm.setInt(4, stu.getSid()); int rs=psm.executeUpdate();//获得结果集游标
return rs==1; } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return false;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return false;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
try {
psm.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} }
}
//添加记录
public boolean Add(Student stu) {
// 声明Connection对象
Connection con = null;
PreparedStatement psm = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql3 = "insert into student(sname,score,sexid) values(?,?,?)"; psm = con.prepareStatement(sql3);
psm.setString(1, stu.getSname());
psm.setInt(2, stu.getScore());
psm.setInt(3,stu.getSexid()); int rs=psm.executeUpdate();//获得结果集游标
return rs==1; } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return false;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return false;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
try {
psm.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} }
} //删除记录
public boolean deleteById(int sid) {
// 声明Connection对象
Connection con = null;
PreparedStatement psm = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql1 = "delete from student where sid=?";
psm = con.prepareStatement(sql1);
psm.setInt(1, sid); int rs=psm.executeUpdate();//获得结果集游标
return rs==1; } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return false;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return false;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
try {
psm.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} }
}
//查询
public List<Student> findAll(){
// 声明Connection对象
Connection con = null;
Statement statement = null;
ResultSet rs = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql2 = "select * from student";
statement = (Statement) con.createStatement();
rs=statement.executeQuery(sql2);//获得结果集游标
List<Student> list=new ArrayList<Student>();
while (rs.next()) {
list.add(new Student(rs.getInt("sid"),rs.getString("sname"),rs.getInt("score"),rs.getInt("sexid"))); }
return list; } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return null;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return null;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
} finally {
try {
statement.close();
rs.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} } }
}

SexDao.java:

package cn.itcast.model.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import cn.itcast.model.entity.Sex;
import cn.itcast.model.entity.Student; public class SexDao { //查询
public List<Sex> findAll(){
// 声明Connection对象
Connection con = null;
Statement statement = null;
ResultSet rs = null;
// 驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/test5";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "123456";
// 遍历查询结果集
try {
// 加载驱动程序
Class.forName(driver);
// 1.getConnection()方法,连接MySQL数据库!!
con = (Connection) DriverManager.getConnection(url, user, password);
if (!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
// 2.创建statement类对象,用来执行SQL语句!!
String sql2 = "select * from sex";
statement = (Statement) con.createStatement();
rs=statement.executeQuery(sql2);//获得结果集游标
List<Sex> list=new ArrayList<Sex>();
while (rs.next()) {
list.add(new Sex(rs.getInt("sexid"),rs.getString("sexname"))); }
return list; } catch (ClassNotFoundException e) {
// 数据库驱动类异常处理 e.printStackTrace();
return null;
} catch (SQLException e) {
// 数据库连接失败异常处理
e.printStackTrace();
return null;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
} finally {
try {
statement.close();
rs.close();
con.close();
} catch (Exception e) {
// TODO: handle exception
} }
}
}

查:

StudentServlet.java:

package cn.itcast.controller;

import java.io.IOException;
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 cn.itcast.model.dao.StudentDao;
import cn.itcast.model.entity.Student; /**
* Servlet implementation class StudentServlet
*/
@WebServlet(name="/StudentServlet",urlPatterns = {"/StudentServlet"})
//默认urlPatterns和name相同,后面的urlpatterns可以不写
public class StudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//没有请求参数,不需要做请求解码
response.setContentType("text/html;charset=utf-8");
//用控制器调用Dao类
StudentDao dao=new StudentDao();
//获取结果
List<Student> list=dao.findAll();
//传递结果数据到服务器jsp页面
//存储到request或者session作用域
request.setAttribute("list", list);
//派发页面(转发,重定向)
request.getRequestDispatcher("/show.jsp").forward(request, response); }
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(req, resp);
} }

show.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<c:if test="${not empty msg }">
<script>
alert("${msg}");
</script>
</c:if>
<body>
<form name="form" method="post" action="StudentMultipleDeleteServlet">
<table border="1">
<tr>
<td>选择</td>
<td>学号</td>
<td>姓名</td>
<td>成绩</td>
<td>性别</td>
<td>操作</td>
<td>操作</td>
<td>操作</td>
</tr>
<c:forEach items="${list}" var="stu">
<tr>
<td><input name="delete" type="checkbox" value="${stu.sid}" /></td>
<td>${stu.sid}</td>
<td>${stu.sname}</td>
<td>${stu.score}</td>
<td>${stu.sexid}</td>
<td><a href="StudentDeleteServlet?sid=${stu.sid }">删除</a></td>
<td><a href="StudentSelectServlet?sid=${stu.sid }">修改</a></td>
<td><a href="add.html">添加</a></td>
</tr>
</c:forEach>
<td><input type="submit" value="批量删除"></td>
</table>
</form>
</body>
</html>

删:

StudentDeleteServlet.java:

package cn.itcast.controller;

import java.io.IOException;
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 cn.itcast.model.dao.StudentDao;
import cn.itcast.model.entity.Student; /**
* Servlet implementation class StudentDeleteServlet
*/
@WebServlet("/StudentDeleteServlet")
public class StudentDeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentDeleteServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//读取sid参数
int sid=Integer.parseInt(request.getParameter("sid"));
request.setAttribute("sid", sid);
//调用dao对象删除
StudentDao dao=new StudentDao();
boolean a=dao.deleteById(sid);
if(a) {
//跳转网页
//提供弹窗
String msg="删除成功!";
request.setAttribute("msg", msg);
request.getRequestDispatcher("/StudentServlet").forward(request, response);
}else {
//在服务器拼出完整的html给前端
String html="<html><body>删除失败!</body></html>";
response.getWriter().print(html);
response.getWriter().flush();
response.getWriter().close();
}
} }

改:

StudentSelectServlet.java:

package cn.itcast.controller;

import java.io.IOException;
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 cn.itcast.model.dao.SexDao;
import cn.itcast.model.dao.StudentDao;
import cn.itcast.model.entity.Sex;
import cn.itcast.model.entity.Student; /**
* Servlet implementation class StudentSelectServlet
*/
@WebServlet("/StudentSelectServlet")
public class StudentSelectServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentSelectServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8"); //接收参数
int sid=Integer.parseInt(request.getParameter("sid")); StudentDao sd=new StudentDao();
Student s=sd.findOnly(sid);
//存到作用域
request.setAttribute("sid", sid);
request.setAttribute("sname", s.getSname());
request.setAttribute("score", s.getScore());
request.setAttribute("sexid",s.getSexid()); SexDao sexd=new SexDao();
List<Sex> list=sexd.findAll();
request.setAttribute("list",list); request.getRequestDispatcher("update.jsp").forward(request, response);
} }

update.jsp:

<%@ page language="java"  import="cn.itcast.model.entity.Student" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="StudentUpdateServlet" method="post">
学号:<input type="text" id="sid" name="sid" value="${sid}"><br />
名字:<input type="text" id="username" name="sname" value="${sname}"><br />
分数:<input type="text" id="score" name="score" value="${score}"><br />
性别:<select name="select">
<c:forEach items="${list}" var="a">
<option value="${a.sexid}"
<c:if test="${sexid==a.sexid}">selected</c:if>>
${a.sexname }</option>
</c:forEach>
</select><br />
<input type="submit" value="添加">
</form>
</body>
</html>

加:

add.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="StudentAddServlet" method="post">
名字:<input type="text" id="username" name="name"><br />
分数:<input type="text" id="score" name="score"><br />
性别:<input type="text" id="sexid" name="sexid"><br />
<input type="submit" value="添加">
</form>
</body>
</html>

StudentAddServlet.java:

package cn.itcast.controller;

import java.io.IOException;

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 cn.itcast.model.dao.StudentDao;
import cn.itcast.model.entity.Student; /**
* Servlet implementation class StudentAddServlet
*/
@WebServlet("/StudentAddServlet")
public class StudentAddServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentAddServlet() {
super();
// TODO Auto-generated constructor stub
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//处理接收数据
String sname=request.getParameter("name");
int score=Integer.parseInt(request.getParameter("score"));
int sexid=Integer.parseInt(request.getParameter("sexid")); //插入数据
StudentDao stu=new StudentDao();
Student s=new Student(-1,sname,score,sexid);
boolean ss=stu.Add(s);
if(ss) {
String msg="添加成功!";
request.setAttribute("msg", msg);
request.getRequestDispatcher("/StudentServlet").forward(request, response);
}else {
//在服务器拼出完整的html给前端
String html="<html><body>删除失败!</body></html>";
response.getWriter().print(html);
response.getWriter().flush();
response.getWriter().close();
}
} }

批量删除:

StudentMultipleDeleteServlet.java:

package cn.itcast.controller;

	import java.io.IOException;
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 cn.itcast.model.dao.StudentDao; /**
* Servlet implementation class StudentMultipleDeleteServlet
*/
@WebServlet("/StudentMultipleDeleteServlet")
public class StudentMultipleDeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public StudentMultipleDeleteServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(req, resp);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//读取sid参数
String[] ss=request.getParameterValues("delete");
int count; //调用dao对象删除
StudentDao dao=new StudentDao();
count=dao.deleteByIds(ss);
if(count!=0) {
String msg="删除了"+count+"条记录!";
request.setAttribute("msg", msg);
request.getRequestDispatcher("/StudentServlet").forward(request, response); }else {
//在服务器拼出完整的html给前端
String html="<html><body>删除失败!</body></html>";
response.getWriter().print(html);
response.getWriter().flush();
response.getWriter().close();
} } }

界面:

JavaWeb后端jsp之增删改查的更多相关文章

  1. javaweb连接数据库并完成增删改查

    一.连接数据库 1.mysql数据库的安装和配置 在网上找到了篇关于mysql的安装详细说明,供读者自己学习 https://www.jb51.net/article/23876.htm 2.mysq ...

  2. jsp连接数据库增删改查

    一,创建表 二.将jar包复制导入到lib文件夹下 三.创建工具包连接数据库 package com.bill.util; import java.sql.Connection; import jav ...

  3. JDBC+Servlet+JSP的学生案例增删改查

    数据库信息传输到页面实现. 先进行学生信息页面展示: 接口IStudentDao public interface IStudentDao { /** * 保存操作 * @param stu 学生对象 ...

  4. JDBC+Servlet+JSP实现基本的增删改查(简易通讯录)

    前言: 最近学习JavaWeb的过程中,自己实践练手了几个小项目,目前已经上传到我的Github上https://github.com/Snailclimb/JavaWebProject.目前只上传了 ...

  5. JavaWeb 增删改查功能

    1.今天来写一个简单的增删改查功能,这个项目还是接着在昨天写的 --JavaWeb实现简单登录注册-- 来写的. 登录成功进来后对学生信息的增删改查 2.项目文件为: 3.好了,直接贴上今天新写的代码 ...

  6. 最简单的jsp+servlet的增删改查代码

    package ceet.ac.cn.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  7. web项目总结——通过jsp+servlet实现对oracle的增删改查功能

    1.DAO模式 分包:依次建立 entity:实体包,放的是跟oracle数据库中表结构相对应的对象的属性,也就是这个对象有什么 dao:增删改查接口,实现增删改查的具体方法 service:同dao ...

  8. MVC设计模式((javaWEB)在数据库连接池下,实现对数据库中的数据增删改查操作)

    设计功能的实现: ----没有业务层,直接由Servlet调用DAO,所以也没有事务操作,所以从DAO中直接获取connection对象 ----采用MVC设计模式 ----采用到的技术 .MVC设计 ...

  9. 数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询參照:对数据进行增删改查)

    我们常常会用到通过图书的名称来查询图书那么这种话我们也就会使用到从数据库中搜索出数据而且载入到自己的Jsp页面中 这种话我们须要将从数据库中获取到的数据放进响应中然后通过%=request.getAt ...

随机推荐

  1. Mysql失败,异常pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9D\\x90\\xBF;......

    问题描述: 插入Mysql时失败了,python代码报如下异常: pymysql.err.InternalError: (1366, "Incorrect string value: '\\ ...

  2. 1.NET Core 概述

    .NET Core 概述 .NET Core是一个免费的.开源的.跨平台的.广泛使用的Web框架:它是由微软维护的.社区广泛参与支持的一个框架..NET Core可以运行在:Windows.MacOS ...

  3. C语言中结构体内存存储方式

    C语言中结构体内存存储方式 结构体的默认存储方式采用以最大字节元素字节数对其方式进行对齐,例如一个结构体中定义有char.int类型元素,则结构体存储空间按照int类型占用字节,如果还有double类 ...

  4. scikit_learn分类器详解

    1       分类 分类是将事物按特性进行分类,例如将手写数字图片分类为对应的数字. 1.1  MINIST数字图片集分类 MINST就是一个70000张规格较小的手写数字图片,如何将他们分类为对应 ...

  5. 监控一哥Prometheus你可认识?

    先大致认识认识普罗米修斯 —— Prometheus. 依据官方文档https://prometheus.io/docs/introduction/overview/ 大概能够了解到 Promethe ...

  6. JavaScript new 的时候到底发生了什么?

    function Person(name) { this.name = name; } let liLei = new Person('lilei'); console.log(liLiei.name ...

  7. 基于Websocket开发的仿微信聊天室

    一.运行环境及涉及技术:----------------------------------* Visual Studio 2019* SQL SERVER 2008 R2* .Net FrameWo ...

  8. x86汇编利用int 16h中断实现伪多线程输入

    x86汇编利用int 16h中断实现伪多线程输入 我们都知道,如果想让一个程序,同时又干这个,又干那个,最好的办法就是多线程.这个在高级语言里面已经用烂了. 但是,DOS是只有单线程的.我如果想让程序 ...

  9. C语言一行语句太长的换行处理方法

    [toc] 1.C语言中代码的多行书写 对C语言初学者来说,编写的程序的功能很简单,一句代码很短,但是在实际开发中,参数往往很长很多,一句代码可能会很长,需要用多行才能书写. 如果我们在一行代码的行尾 ...

  10. django rest framework用户认证

    django rest framework用户认证 进入rest framework的Apiview @classmethod def as_view(cls, **initkwargs): &quo ...