jsp实现连接数据库分页浏览 增删改查等功能

合集下载

用jsp程序对数据库表进行增、删、差、改操作

用jsp程序对数据库表进行增、删、差、改操作
pstmt.setDate(5,Birth) ;
pstmt.setString(6,request.getParameter("Phone")) ;
pstmt.setFloat(7,Float.parseFloat(Grade)) ;//这个地方的问题要牢记
pstmt.setFloat(8,Float.parseFloat(Use)) ;//这个地方的问题要牢记
生&nbsp;日&nbsp;&nbsp;&nbsp;费:<input type="text"name="Use"><br>
<input type="submit"value="添加">
<input type="reset"value="重置">
</font>
</form>
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
int x = pstmt.executeUpdate() ;//这个用法牢记
%>
<%
if(x>=1){
flag = true;
%>
添加信息成功!
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
<%
}
%>
<%
}catch(Exception e){
e.printStackTrace() ;

jsp+servlet+jdbc实现对数据库的增删改查

jsp+servlet+jdbc实现对数据库的增删改查

jsp+servlet+jdbc实现对数据库的增删改查⼀、JSP和Servlet的简单介绍1、Servlet和JSP简介:Java开发Web应⽤程序时⽤到的技术主要有两种,即Servlet和JSP,Servlet是在服务器端执⾏的Java程序,⼀个被称为Servlet容器的程序(其实就是服务器)负责执⾏Java程序,⽽JSP(Java Server Page)则是⼀个页⾯,由JSP容器负责执⾏.2、Servlet和JSP的区别:Servlet以Java程序为主,输出HTML代码时需要使⽤out.println函数,也就是说Java中内嵌HTML;⽽JSP则以HTML页⾯为主,需要写Java代码时则在页⾯中直接插⼊Java代码,即HTML中内嵌Java.3、MVC模型MVC模型就是将数据、逻辑处理、⽤户界⾯分离的⼀种⽅法1)、M(Model, 模型):⽤于数据处理、逻辑处理2)、V(View,视图):⽤于显⽰⽤户界⾯3)、C(Controller,控制器):根据客户端的请求控制逻辑⾛向和画⾯⽽在Java中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet1)、M = JavaBeans:⽤于传递数据,拥有与数据相关的逻辑处理2)、V = JSP:从Model接收数据并⽣成HTML3)、C = Servlet:接收HTTP请求并控制Model和View4、jdbc连接,可参考⽂章:⼆、代码演⽰,实现了book的添加删除和修改功能1、环境的配置myeclipse+tomcat+MySQL2、Book中bean类package example.bean.book;public class Book {// 编号private int id;// 图书名称private String name;// 价格private double price;// 数量private int bookCount;// 作者private String author;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getBookCount() {return bookCount;}public void setBookCount(int bookCount) {this.bookCount = bookCount;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}}3、Servlet类1)、FindServlet.javapackage example.servlet.book;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import example.bean.book.Book;/*** Servlet implementation class FindServlet*/public class FindServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {try {// 加载数据库驱动,注册到驱动管理器Class.forName("com.mysql.jdbc.Driver");// 数据库连接字符串String url = "jdbc:mysql://localhost:3306/db_book?useUnicode=true&characterEncoding=utf-8"; // 数据库⽤户名String username = "root";// 数据库密码String password = "";// 创建Connection连接Connection conn = DriverManager.getConnection(url, username,password);// 添加图书信息的SQL语句String sql = "select * from tb_books";// 获取StatementStatement statement = conn.createStatement();ResultSet resultSet = statement.executeQuery(sql);List<Book> list = new ArrayList<Book>();while (resultSet.next()) {Book book = new Book();book.setId(resultSet.getInt("id"));book.setName(resultSet.getString("name"));book.setPrice(resultSet.getDouble("price"));book.setBookCount(resultSet.getInt("bookCount"));book.setAuthor(resultSet.getString("author"));list.add(book);}request.setAttribute("list", list);resultSet.close();statement.close();conn.close();} catch (Exception e) {e.printStackTrace();}request.getRequestDispatcher("book_list.jsp").forward(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}2)、UpdateServlet.java类package example.servlet.book;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class UpdateServlet*/public class UpdateServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {int id = Integer.valueOf(request.getParameter("id"));int bookCount = Integer.valueOf(request.getParameter("bookCount"));try {// 加载数据库驱动,注册到驱动管理器Class.forName("com.mysql.jdbc.Driver");// 数据库连接字符串String url = "jdbc:mysql://localhost:3306/db_book";// 数据库⽤户名String username = "root";// 数据库密码String password = "";// 创建Connection连接Connection conn = DriverManager.getConnection(url, username,password);// 更新SQL语句String sql = "update tb_books set bookcount=? where id=?";// 获取PreparedStatementPreparedStatement ps = conn.prepareStatement(sql);// 对SQL语句中的第⼀个参数赋值ps.setInt(1, bookCount);// 对SQL语句中的第⼆个参数赋值ps.setInt(2, id);// 执⾏更新操作ps.executeUpdate();// 关闭PreparedStatementps.close();// 关闭Connectionconn.close();e.printStackTrace();}// 重定向到FindServletresponse.sendRedirect("FindServlet");}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}3)、DeleteServlet类package example.servlet.book;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import example.dao.book.BookJdbcDao;import example.dao.book.ConnectionFactory;/*** Servlet implementation class DeleteServlet*/public class DeleteServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse* response)*/protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {int id = Integer.valueOf(request.getParameter("id"));try {// // 加载数据库驱动,注册到驱动管理器// Class.forName("com.mysql.jdbc.Driver");// // 数据库连接字符串// String url = "jdbc:mysql://localhost:3306/db_book";// // 数据库⽤户名// String username = "root";// // 数据库密码// String password = "";// // 创建Connection连接// Connection conn = DriverManager.getConnection(url, username,// password);// // 删除图书信息的SQL语句// String sql = "delete from tb_books where id=?";// // 获取PreparedStatement// PreparedStatement ps = conn.prepareStatement(sql);// // 对SQL语句中的第⼀个占位符赋值// ps.setInt(1, id);// // 执⾏更新操作// ps.executeUpdate();// // 关闭PreparedStatement// ps.close();// // 关闭Connection// conn.close();BookJdbcDao bookDao=new BookJdbcDao();Connection conn=ConnectionFactory.getInstance().getConnection();bookDao.delete(conn,id);} catch (Exception e) {e.printStackTrace();}// 重定向到FindServletresponse.sendRedirect("FindServlet");}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}4、servlet访问url映射配置:由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到⼀个URL地址上,这个⼯作在web.xml⽂件中使⽤<servlet>元素和<servlet-mapping>元素完成,<servlet>元素⽤于注册Servlet,它包含有两个主要的⼦元素:<servlet-name>和<servlet-class>,分别⽤于设置Servlet的注册名称和Servlet的完整类名。

java前后端分离的增删改查项目

java前后端分离的增删改查项目

java前后端分离的增删改查项目Java前后端分离的增删改查项目随着互联网的快速发展,前后端分离的开发模式越来越受到开发者的青睐。

在这种模式下,前端负责展示页面和用户交互,后端负责业务逻辑和数据处理。

本文将介绍一个基于Java的前后端分离的增删改查项目,以帮助读者了解这种开发模式的具体实现。

一、项目概述本项目是一个简单的增删改查系统,用于管理用户信息。

前端使用Vue.js框架构建页面,后端使用Java编写接口。

前后端通过HTTP 协议进行通信,前端发送请求给后端,后端返回相应的数据。

项目的目标是实现用户信息的增加、删除、修改和查询功能。

二、前端开发前端使用Vue.js框架进行开发,利用其组件化和响应式的特性,可以更高效地构建页面。

首先,我们需要创建一个用户管理的页面,包括用户列表、新增用户、编辑用户和删除用户等功能。

1. 用户列表用户列表页面展示了系统中所有用户的信息,包括用户ID、姓名、年龄和性别等字段。

用户可以通过搜索框快速查找特定用户。

2. 新增用户新增用户页面提供了一个表单,用于输入用户的详细信息。

用户需要填写姓名、年龄和性别等字段,并点击提交按钮进行保存。

3. 编辑用户编辑用户页面与新增用户页面类似,但是需要预先加载用户的信息,并在表单中显示出来。

用户可以修改用户的任意字段,并点击提交按钮保存修改。

4. 删除用户删除用户功能通过点击列表中的删除按钮来实现。

在确认删除之前,系统会弹出一个提示框,确保用户的操作是有意义的。

三、后端开发后端使用Java编写接口,处理前端发送过来的请求,并返回相应的数据。

我们需要设计相应的接口,包括新增用户、删除用户、修改用户和查询用户等功能。

1. 新增用户接口新增用户接口接收前端传递过来的用户信息,将其保存到数据库中。

在保存之前,需要对用户信息进行校验,确保数据的有效性。

2. 删除用户接口删除用户接口接收前端传递过来的用户ID,通过该ID在数据库中找到对应的用户并进行删除操作。

使用JSP对数据库进行增删改查

使用JSP对数据库进行增删改查

使用JSP对数据库进行增删改查JSP(Java Server Pages)是一种用于开发Web应用程序的Java技术。

它可以直接在HTML页面中嵌入Java代码,实现动态生成页面内容。

在使用JSP进行数据库的增删改查操作时,通常需要借助JDBC(Java Database Connectivity)来进行数据库的连接和操作。

接下来,需要进行数据库的连接。

可以使用JDBC提供的DriverManager类和Connection接口来实现。

首先,需要定义数据库的相关信息,如驱动程序名称、数据库URL、用户名和密码。

然后,使用DriverManager的静态方法getConnection(来获取数据库连接,传入相应的参数。

例如,对于MySQL数据库,可以使用如下代码进行连接:String url = "jdbc:mysql://localhost:3306/database_name"; // 数据库URLString userName = "root"; // 数据库用户名String password = "password"; // 数据库密码try//加载驱动程序Class.forName(driverName);//获取数据库连接Connection connection = DriverManager.getConnection(url, userName, password);//...} catch (ClassNotFoundException e)e.printStackTrace(;} catch (SQLException e)e.printStackTrace(;连接成功后,接下来可以进行数据库的增删改查操作。

通常,可以使用JDBC的Statement或PreparedStatement对象来执行SQL语句。

Statement对象用于静态SQL语句,而PreparedStatement对象用于动态SQL语句。

JSP 实现数据的分页显示

JSP  实现数据的分页显示

JSP 实现数据的分页显示在JSP中,数据的分页显示非常实用,它的应用可以使数据表中的多条数据实现分页显示,使数据的显示更加条理清晰。

本扩展练习的目的是:使数据表bookinfo 中的数据实现分页显示,并实现数据的翻页功能。

实例中有两个文件Pagescount.jsp 和Pages.jsp,其中Pagescount.jsp实现数据库的连接并查询数据返回数据集,同时设置每页显示的记录数和计算数据页数。

Pages.jsp实现数据的分页显示。

(1)创建一个命名为Pagescount.jsp的信息查询页面。

【新建】|【JSP (advanced Templates)】命令,弹出【新建JSP页面】对话框,在对话框的文件名称中输入Pagescount.jsp,单击【完成】按钮。

(2)添加JSP文件要用到的Java类包、编码。

查询bookinfo数据表中数据并返回数据集,最后,计算数据集中的记录数并设置显示的页数。

(4)创建一个命名为Pages.jsp的信息查询页面。

【新建】|【JSP (advanced Templates)】命令,弹出【新建JSP页面】对话框,在对话框的文件名称中输入Pages.jsp,单击【完成】按钮。

(5)添加JSP文件要用到的Java类包、编码。

(6)在JSP文件中输出如下内容并保存。

</TD><%}%><TD Width=150><FORM action=Pages.jsp method=POST>到<INPUT type="text" name=ToPage style="HEIGHT: 25px; WIDTH: 40px"value=<%= ShowPage%> > 页</FORM></TD></TR></TABLE></CENTER></BODY></HTML>(7)执行上述代码,结果如图10-18所示。

使用struts2、数据库、JSP实现增、删、改、查源码

使用struts2、数据库、JSP实现增、删、改、查源码

Action 包下面的class文件:package action;import erDao;import erDaoImp;import er;public class UserAction {private User user;public String add(){UserDao userDao = new UserDaoImp();try {userDao.save(user);return"success";} catch (Exception e) {e.printStackTrace();return"error";}}public String update(){UserDao userDao = new UserDaoImp();try {userDao.updata(user);System.out.print("----");return"success";} catch (Exception e) {e.printStackTrace();return"error";}}public String delete(){UserDao userDao = new UserDaoImp();try {userDao.deleteById(user.getId());return"success";} catch (Exception e) {e.printStackTrace();return"error";}}public String show(){UserDao userDao = new UserDaoImp();try {user = userDao.findById(user.getId());return"success";} catch (Exception e) {e.printStackTrace();return"error";}}public User getUser() {return user;}public void setUser(User user) {er = user;}}package action;import java.util.List;import erDao;import erDaoImp;import er;public class UserListAction {private List<User> users;public List<User> getUsers() {return users;}public void setUsers(List<User> users) { ers = users;}public String execute(){UserDao userDao = new UserDaoImp();try {users = userDao.findAll();return"success";} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();return"error";}}}Dao 下面的class文件package dao;import java.util.List;import er;public interface UserDao {public void save(User user) throws Exception;public void updata(User user) throws Exception;public void deleteById(int id) throws Exception;public User findById(int id) throws Exception;public List<User> findAll() throws Exception;}Daoimpl包下面的class文件package daoimp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import util.DBUtil;import erDao;import er;public class UserDaoImp implements UserDao {static final String insert = "insert into t_user(username,pwd,age) values(?,?,?)";static final String findAll = "select * from t_user";static final String delete = "delete from t_user where id=?";static final String findById = "select * from t_user where id=?";static final String update = "update t_user set username=?,pwd=?,age=? where id=?";public List<User> findAll() throws Exception {Connection con = DBUtil.getConnection();PreparedStatement pst = con.prepareStatement(findAll);ResultSet rs = pst.executeQuery();List<User> users = new ArrayList<User>();while(rs.next()){User user = new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("username"));user.setPassword(rs.getString("pwd"));user.setAge(rs.getInt("age"));users.add(user);}con.close();return users;}public User findById(int id) throws Exception {Connection con = DBUtil.getConnection();PreparedStatement pst = con.prepareStatement(findById);pst.setInt(1, id);ResultSet rs = pst.executeQuery();if(rs.next()){User user = new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("username"));user.setPassword(rs.getString("pwd"));user.setAge(rs.getInt("age"));return user;}DBUtil.close(con);return null;}@Overridepublic void deleteById(int id) throws Exception {// TODO Auto-generated method stubConnection con = DBUtil.getConnection();PreparedStatement pstmt = con.prepareStatement(delete);pstmt.setInt(1, id);pstmt.executeUpdate();con.close();}@Overridepublic void save(User user) throws Exception {// TODO Auto-generated method stubConnection con = DBUtil.getConnection();PreparedStatement pstmt = con.prepareStatement(insert);pstmt.setString(1, user.getUsername());pstmt.setString(2, user.getPassword());pstmt.setInt(3, user.getAge());pstmt.executeUpdate();con.close();}@Overridepublic void updata(User user) throws Exception {// TODO Auto-generated method stubConnection con = DBUtil.getConnection();PreparedStatement pstmt = con.prepareStatement(update);pstmt.setString(1, user.getUsername());pstmt.setString(2, user.getPassword());pstmt.setInt(3, user.getAge());pstmt.setInt(4, user.getId());pstmt.executeUpdate();con.close();}}实体层entity包下面的class文件:package entity;public class User {private int id;private String username;private String password;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}JSP文件:Add.jsp<body><form action="add.action"method="post"><table border="1"align="center"><tr><td>UserName:</td><td><input type="text"name="ername"></td> </tr><tr><td>PassWord:</td><td><input type="password"name="user.password"></td> </tr><tr><td>Age:</td><td><input type="text"name="user.age"></td></tr><tr align="center"><td colspan="2"><input type="submit"value="添加"><a href="list.action">查看用户列表</a></td></tr></table></form><!--<h1>添加</h1><form action="add.action" method="post">用户名:<input type="text" name="ername"><br/>密&nbsp;&nbsp;码:<input type="password" name="user.pwd"><br/> name="user.pwd"><br/>年&nbsp;&nbsp;龄:<input type="text" name="user.age"><br/><input type="submit" value="添加"><a href="list.action">查看用户列表</a></form>--></body>Error.jsp<body><h1>系统错误!请稍候重试....!</h1><br></body>List.jsp<body><table border="1"align="center"><tr><th>ID:</th><th>UserName:</th><th>Age:</th><th>相关操作</th></tr><s:iterator value="users"><!-- 遍历 value是集合的对象 --> <tr><td><s:property value="id"/></td><td><s:property value="username"/></td><td><s:property value="age"/></td><td><a href='delete.action?user.id=<s:property value="id"/>'>删除</a><a href='show.action?user.id=<s:property value="id"/>'>查看</a><a href='update_init.action?user.id=<s:property value="id"/>'>修改</a></td></tr></s:iterator><tr align="center"><td colspan="4"><a href="add.jsp">添加</a></td> </tr></table><br/></body>Show.jsp<body>用户名:<s:property value="ername"/><br>密&nbsp;&nbsp;码:<s:property value="user.password"/><br>年&nbsp;&nbsp;龄:<s:property value="user.age"/><br><a href="list.action">返回</a></body>Update.jsp<body><h1>用户更新</h1><s:form action="update"theme="simple"method="post"><s:textfield name="user.id"/>用户名:<s:textfield name="ername"/><br/>密&nbsp;&nbsp;码:<s:password name="user.password" showPassword="true"/><br/>年&nbsp;&nbsp;龄:<s:textfield name="user.age"/><br/><input type="submit"value="更新"><a href="list.action">查看用户列表</a></s:form></body>。

java项目中的增删改查方法

java项目中的增删改查方法在Java项目中,增删改查(CRUD)操作是非常常见的需求。

无论是开发Web应用、移动应用还是后台系统,都会涉及到对数据的增加、删除、修改和查询操作。

在Java中,我们通常使用数据库来存储数据,而针对数据库的增删改查操作,我们通常会使用SQL语句来实现。

下面我们来看看在Java项目中,如何实现增删改查方法。

1. 增加(Create),在Java项目中,要实现数据的增加操作,通常需要先连接数据库,然后使用SQL语句向数据库中插入新的数据。

在Java中,我们可以使用JDBC(Java Database Connectivity)来连接数据库,使用PreparedStatement或者Statement来执行插入操作。

另外,如果我们使用了ORM框架(如Hibernate或MyBatis),我们也可以通过框架提供的API来实现数据的插入操作。

2. 删除(Delete),删除数据操作通常是根据某个条件从数据库中删除符合条件的数据。

在Java项目中,我们可以使用SQL的DELETE语句来实现数据的删除操作。

同样地,我们可以使用JDBC或者ORM框架提供的API来执行删除操作。

3. 修改(Update),修改数据操作通常是根据某个条件更新数据库中的数据。

在Java项目中,我们可以使用SQL的UPDATE语句来实现数据的更新操作。

同样地,我们可以使用JDBC或者ORM框架提供的API来执行更新操作。

4. 查询(Retrieve),查询数据操作是从数据库中检索数据。

在Java项目中,我们可以使用SQL的SELECT语句来实现数据的查询操作。

同样地,我们可以使用JDBC或者ORM框架提供的API来执行查询操作,并将查询结果返回给Java应用程序。

总的来说,在Java项目中实现增删改查方法,我们通常会使用JDBC来连接数据库并执行SQL语句,或者使用ORM框架来简化数据库操作。

无论是使用JDBC还是ORM框架,都需要对数据库操作有一定的了解,以便能够编写出高效、安全的增删改查方法。

JSP对Oracle进行增删改查

jsp连接Oracle的增删改查****************************************db包中的stu学生************************************ package db;public class stu { //学生类private String sid;private String name;private String age;public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}}*****************************************db包中的ConnDb************************************ package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;public class ConnDb { //数据库连接和操作的类private static Connection con=null;private static Statement stmt=null;private static ResultSet rs=null;public static void statrconn(){ //连接数据库方法try {Class.forName("oracle.jdbc.driver.oracledriver "); //创建连接数据库中间件try {con=DriverManager.getConnection("jdbc:odbc:thin:@127.0.0.1:1521:orcl","",""); //连接access数据源 } catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void endconn() throws SQLException{ //关闭数据源的类if(rs!=null){rs.close();rs=null;}if(stmt!=null){stmt.close();stmt=null;}if(con!=null){con.close();con=null;}}public static void update(String sql) throws SQLException{ //数据库更新类statrconn();stmt=con.createStatement();stmt.executeUpdate(sql);endconn();}public static ArrayList getList1(String sql) throws SQLException{ //数据库查询类,查询结果集以列表返回 ArrayList list=new ArrayList();statrconn();stmt=con.createStatement();rs=stmt.executeQuery(sql);while(rs.next()){stu st=new stu();st.setSid(rs.getString("sid"));st.setName(rs.getString("sname"));st.setAge(rs.getString("sage"));list.add(st);}endconn();return list;}}********************************主jsp页面list.jsp****************************************<%@ page language="java" import="db.ConnDb,db.stu,java.util.*" pageEncoding="gbk"%><%--jsp头文件,包括引入的包和支持语言,gbk为支持中文--%><%ArrayList list = ConnDb.getList1("select sid,sname,sage from test"); //获得test表中所有数据并以列表形式返回%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'list.jsp' starting page</title></head><body><input type="button" name="bottom" value="添加新学生"onclick="javascript:window.location.href='add.jsp'"><br><br><table border="1" ><tr><td>编号</td><td>姓名</td><td>年龄</td><td>操作</td></tr><% {for(Iterator it=list.iterator();it.hasNext();){stu s=(stu)it.next();%><tr><td><%=s.getSid()%></td><td><%=s.getName()%></td><td><%=s.getAge()%></td><td><a href="update.jsp?sid=<%=s.getSid()%>">修改</a><a href="delete.jsp?sid=<%=s.getSid()%>" onclick="return confirm('确定删除?');">删除</a></td></tr><% }}%></table></body></html>************************************************添加学生的jsp页面add.jsp******************************************<%@ page language="java" pageEncoding="gbk"%><%%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>add</title></head><body><form action="addinfo.jsp" method="post"> 提交到addinfo.jsp<p>添加学生:</p>姓名:<input type="text" name="sname"><br><br>年龄:<input type="text" name="sage"><br><br><input type="submit" name="submit" value="提交"></form></body></html>*******************************************添加学生的处理jsp页面addinfo.jsp*******************************************<%@ page language="java" import="db.ConnDb" pageEncoding="gbk"%><%String name = new String(request.getParameter("sname").getBytes("iso-8859-1"));String age = new String(request.getParameter("sage").getBytes("iso-8859-1"));ConnDb.update("insert into test (sname,sage) values ('"+name+"','"+age+"')");response.sendRedirect("list.jsp");%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'addinfo.jsp' starting page</title></head><body>添加成功!<br></body></html>***********************************修改学生信息的jsp页面update.jsp*******************************************************<%@ page language="java" import="db.ConnDb,db.stu,java.util.*" pageEncoding="gbk"%><%String sid=new String(request.getParameter("sid")); //获得要修改人的sidArrayList list=ConnDb.getList1("select sid,sname,sage from test where sid=" +sid); //查询要修改学生的信息,并以列表返回stu s = (stu)list.get(0); //将列表内容换成学生类%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'update.jsp' starting page</title></head><body><form method="post" action="updateInfo.jsp"> 提交到updateInfo.jsp页面<p>修改学生信息&nbsp;</p><p>姓名:<input type="text" name="sname" value="<%=s.getName() %>"> 修改学生信息</p><p>&nbsp;年龄:<input type="text" name="sage" value="<%=s.getAge()%>"><input type="hidden" name="sid" value="<%=sid%>"></p><p>&nbsp;<input type="submit" value="提交" name="button1"></p></form></body></html>**************************************修改的处理页面updateInfo.jsp*********************************************************<%@ page language="java" import="db.ConnDb" pageEncoding="gbk"%><%String name = new String(request.getParameter("sname").getBytes("ISO-8859-1")); //接收信息 String age = new String(request.getParameter("sage").getBytes("ISO-8859-1"));String sid = new String(request.getParameter("sid").getBytes("ISO-8859-1"));String sql = "update test set sname='"+name+"',sage='"+age+"' where sid="+sid;ConnDb.update(sql); //执行修改response.sendRedirect("list.jsp"); //转到list.jsp页面%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'updateInfo.jsp' starting page</title></head><body>This is my JSP page. <br></body></html>******************************************删除的处理页面delete.jsp********************************************************<%@ page language="java" import="db.ConnDb" pageEncoding="gbk"%><%ConnDb.update("delete from test where sid ="+request.getParameter("sid")); //获得要删除人的sid并删除response.sendRedirect("list.jsp"); //转到list.jsp页面%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'delete.jsp' starting page</title></head><body>This is my JSP page. <br></body>。

jsp数据库实验报告

jsp数据库实验报告JSP数据库实验报告引言:JSP(JavaServer Pages)是一种用于开发动态Web应用程序的Java技术。

它允许开发人员将Java代码嵌入到HTML页面中,以实现动态内容的生成和展示。

在本次实验中,我们将探索JSP与数据库的结合,以实现数据的存储和检索功能。

一、实验背景随着Web应用程序的发展,对于数据的存储和管理需求也越来越高。

数据库成为了解决这一问题的重要工具。

在本次实验中,我们将使用MySQL数据库,并通过JSP技术实现与数据库的交互。

二、实验环境本次实验所使用的环境如下:1. 操作系统:Windows 102. 开发工具:Eclipse3. 服务器:Apache Tomcat4. 数据库:MySQL三、实验步骤1. 创建数据库在MySQL中创建一个名为"student"的数据库,用于存储学生信息。

2. 创建表在"student"数据库中创建一个名为"student_info"的表,用于存储学生的姓名、年龄和成绩等信息。

3. 编写JSP页面创建一个名为"student.jsp"的JSP页面,用于展示学生信息和实现数据的存储和检索功能。

在页面中,我们可以通过HTML表单收集学生信息,并将其存储到数据库中。

同时,我们还可以通过查询表单实现对学生信息的检索。

4. 编写JavaBean创建一个名为"Student.java"的JavaBean类,用于封装学生信息。

该类包含姓名、年龄和成绩等属性,并提供相应的getter和setter方法。

5. 编写数据库操作类创建一个名为"DBUtil.java"的数据库操作类,用于与MySQL数据库进行交互。

该类包含连接数据库、插入数据和查询数据等方法。

6. 配置web.xml文件在web.xml文件中配置JSP页面的访问路径和数据库连接信息。

前端 js 增删改查原理

前端 js 增删改查原理Javascript是网页前端开发所必需的一种语言,而在实际的网页开发中,增删改查操作也是非常常见的。

下面将围绕“前端 js 增删改查原理”进行阐述。

一、增加操作增加操作是指向网页中添加新的元素或节点,常见的方式有两种:innerHTML和document.createElement。

1. 使用innerHTMLinnerHTML是一种向网页中添加HTML代码的方式,可以轻松地添加新的HTML标签,例如div、p、ul、li等等。

以下是使用innerHTML 添加一个 div 元素的示例:var newDiv = document.createElement("div");newDiv.innerHTML = "这是新添加的一个div元素";document.body.appendChild(newDiv);2. 使用document.createElement使用document.createElement可以先创建一个新的元素,再将其添加到网页中。

以下是使用document.createElement添加一个 p 元素的示例:var newPara = document.createElement("p");var paraText = document.createTextNode("这是新添加的一个p元素");newPara.appendChild(paraText);document.body.appendChild(newPara);二、删除操作删除操作是指在网页中删除特定的元素或节点。

常见的方式有两种:innerHTML和removeChild。

1. 使用innerHTML内置的innerHTML可以轻松地清空一个元素中的所有内容。

以下是使用innerHTML清空一个 div 元素的示例:var myDiv = document.getElementById("myDiv");myDiv.innerHTML = "";2. 使用removeChild使用removeChild方法可以从文档中删除指定的子节点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一利用jsp实现Oracle数据库中表格的分页浏览:二在Oracle数据库中建立表格,包含员工的工号、姓名、性别、工龄、工资等字段,并实现增删改查操作。

(1)所建的worker表格如下:(2)Input.jsp运行结果如下:(3)Inputcheck.jsp运行结果如下:Pagebreak.jsp代码如下:<%@page contentType="text/html"pageEncoding="UTF-8" import="java.sql.*"%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>JSP page</title></head><body><center>分页显示记录内容<hr><table border="1" bgcolor="cccfff" align="center"><tr><th>工号</th><th>姓名</th><th>性别</th><th>工龄</th><th>工资</th></tr><%String oracledriver="oracle.jdbc.driver.OracleDriver";String oracleUrl="jdbc:oracle:thin:@localhost:1521:ORACLE";String username="scott";String password="tiger";Connection con;Class.forName(oracledriver);con=DriverManager.getConnection(oracleUrl,username,password);int intPageSize;int intRowCount;int intPageCount;int intPage;String strPage;int i;intPageSize = 10;strPage = request.getParameter("page");if(strPage==null){intPage =1;}else{intPage = ng.Integer.parseInt(strPage);if(intPage<1) intPage = 1;}Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql = "select * from worker";ResultSet rs=stmt.executeQuery(sql);st();intRowCount = rs.getRow();intPageCount = (intRowCount+intPageSize-1)/intPageSize;if(intPage>intPageCount)intPage =intPageCount;if(intPageCount>0){rs.absolute((intPage-1)*intPageSize+1);i = 0;while(i<intPageSize && !rs.isAfterLast()){%><tr><td><%=rs.getString("id")%></td><td><%=rs.getString("name")%></td><td><%=rs.getString("sex")%></td><td><%=rs.getString("workyear")%></td><td><%=rs.getString("sal")%></td></tr><%rs.next();i++;}}%></table><hr><div align="center">第<%=intPage%>页共<%=intPageCount%>页<%if(intPage<intPageCount){%><a href="pagebreak.jsp?page=<%=intPage+1%>">下一页</a><%}if(intPage>1){%><a href="pagebreak.jsp?page=<%=intPage-1%>">上一页</a><%}rs.close();stmt.close();con.close();%></center></body></html>Input.jsp代码如下:<%@page contentType="text/html"pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>JSP中更新数据库</title></head><body bgcolor="ccceee"><br><br><br><center><form action="inputcheck.jsp" method="post"><table border ="0" width="200"><tr><td>工号</td><td><input type="text" name="id"></tr><tr><td>姓名</td><td><input type="text" name="name"></tr><tr><td>性别</td><td><input type="text" name="sex"></tr><tr><td>工龄</td><td><input type="text" name="workyear"></tr><tr><td>工资</td><td><input type="text" name="sal"></tr><tr align="center"><td colspan="2"><input name="sure" type="submit" value="提交">&nbsp;&nbsp;&nbsp;&nbsp;<input name="clear" type="reset" value="取消"></td></table></form></center></body></html>Inputcheck.jsp 代码如下:<%@page contentType="text/html"pageEncoding="UTF-8" import="java.sql.*"%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>JSP page</title></head><body><center><h5>已添加员工信息</h5><hr><%String empID = request.getParameter("empID");byte []b=empID.getBytes("ISO-8859-1");empID = new String(b,"UTF-8");String empName = request.getParameter("empName");byte []b1=empName.getBytes("ISO-8859-1");empName = new String(b1,"UTF-8");String empSex = request.getParameter("empSex");byte []b2=empSex.getBytes("ISO-8859-1");empSex = new String(b2,"UTF-8");String empWorkyear= request.getParameter("empWorkyear");byte []b3=empWorkyear.getBytes("ISO-8859-1");empWorkyear = new String(b3,"UTF-8");String empSal = request.getParameter("empSal");byte []b4=empSal.getBytes("ISO-8859-1");empSal = new String(b4,"UTF-8");String oracledriver="oracle.jdbc.driver.OracleDriver";String oracleUrl="jdbc:oracle:thin:@localhost:1521:ORACLE";String username="scott";String password="tiger";Class.forName(oracledriver);Connection con=DriverManager.getConnection(oracleUrl,username,password);Statement stmt=con.createStatement();String sql="insert into worker values('" +empID +"','"+empName+"','"+empSex+"',"+empWorkyear+","+empSal+")";stmt.executeUpdate(sql);stmt.close();con.close();%><h5>已删除员工信息</h5><hr><%String oracledriver1="oracle.jdbc.driver.OracleDriver";String oracleUrl1="jdbc:oracle:thin:@localhost:1521:ORACLE";String username1="scott";String password1="tiger";Class.forName(oracledriver1);Connection con1=DriverManager.getConnection(oracleUrl1,username1,password1);Statement stmt1=con1.createStatement();String sql1="delete from worker where empName='韩信'";stmt1.executeUpdate(sql1);stmt1.close();con1.close();%><h5>已更改员工信息</h5><hr><%String oracledriver2="oracle.jdbc.driver.OracleDriver";String oracleUrl2="jdbc:oracle:thin:@localhost:1521:ORACLE";String username2="scott";String password2="tiger";Class.forName(oracledriver2);Connection con2=DriverManager.getConnection(oracleUrl2,username2,password2);Statement stmt2=con2.createStatement();String sql2="update worker set empName='李莉莉' where empName='Kababa'";stmt2.executeUpdate(sql2);stmt2.close();con2.close();%><h5>经过以上操作后,Worker表如下:</h5><hr><table border=2 bgcolor="ccceee" align="center"><tr><td>编号</td><td>姓名</td><td>性别</td><td>工龄</td><td>工资</td></tr><%String oracledriver3="oracle.jdbc.driver.OracleDriver";String oracleUrl3="jdbc:oracle:thin:@localhost:1521:ORACLE";String username3="scott";String password3="tiger";Class.forName(oracledriver3);Connection con3=DriverManager.getConnection(oracleUrl3,username3,password3);Statement stmt3=con3.createStatement();String sql3="Select * from worker";ResultSet rs=stmt3.executeQuery(sql3);while(rs.next()){%><tr><td><%=rs.getString("empID")%></td><td><%=rs.getString("empName")%></td><td><%=rs.getString("empSex")%></td><td><%=rs.getString("empWorkyear")%></td><td><%=rs.getString("empSal")%></td></tr><%} rs.close();stmt3.close();con3.close();%></table></hr></center></body></html>。

相关文档
最新文档