Java网页应用之实现对数据库的增、删、改、查。

模拟信息管理系统
通过eclipse实现网页、数据库的连接,实现对数据库的增、删、改、查。

登陆页面:
这里写图片描述
登陆成功界面:
这里写图片描述
添加信息界面:
这里写代码片
修改信息界面:
这里写图片描述
删除信息界面:
这里写图片描述

package com.lq.pro_user.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.lq.pro_user.domain.user;
import com.lq.pro_user.util.DBUlit;
//对数据库进行操作
public class userDAO {
    private ResultSet rs;
    private PreparedStatement pst;
    private Connection conn;
    public  List<user> querrAll(){ //在数据库中取值,并返回。
    	List<user> ulist=new ArrayList<>(); //建立一个集合存放取出的值
    	 try {
			conn=DBUlit.opean();        //调用工具类中的opean()方法连接数据库。
			pst=conn.prepareStatement("select * from tuser");//声明需要对数据库进行的
			rs=pst.executeQuery();         //从数据库中取值。
			while(rs.next()) {            
				user u=new user();   //调用user里面的set方法给u赋值
				u.setAddress(rs.getString("address"));   
				u.setAge(rs.getInt("age"));
				u.setID(rs.getInt("iD"));
				u.setName(rs.getString("name"));
				ulist.add(u);          //将从数据库取到的值放入ulist中。
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			DBUlit.close(rs, pst, conn);      //调用工具类中的close()方法关闭资源。
		}
		return ulist;           //将从数据库中取到的值输出。
    	
    }
    
    public boolean add(user u) {
    	try {
			conn=DBUlit.opean();
			pst=conn.prepareStatement("insert into tuser values(?,?,?,?)");
			pst.setInt(1, u.getID());
			pst.setString(2, u.getName());
			pst.setInt(3,u.getAge());
			pst.setString(4, u.getAddress());
			pst.executeUpdate();
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			DBUlit.close(pst, conn);
		}
		return false;
    }
    
    public boolean del(int id) {
    	try {
			conn=DBUlit.opean();
			pst=conn.prepareStatement("delete tuser where id="+id);
			pst.executeUpdate();
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			DBUlit.close(pst, conn);
		}
		return false;
    	
    }  
    public user querryById(int id) {
    	try {
			conn=DBUlit.opean();
			pst=conn.prepareStatement("select * from tuser where id="+id);
			rs=pst.executeQuery();
			while(rs.next()) {
				user u=new user();
				u.setAddress(rs.getString("address"));
				u.setAge(rs.getInt("age"));
				u.setID(rs.getInt("id"));
				u.setName(rs.getString("name"));
				return u;
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			DBUlit.close(rs, pst, conn);
		}
		return null; 	
    }
    
    public boolean update(user u) {
    	try {
			conn=DBUlit.opean();
			pst=conn.prepareStatement("update tuser set name=?,age=?,address=? where id="+u.getID());
			pst.setString(1, u.getName());
			pst.setInt(2, u.getAge());
			pst.setString(3,u.getAddress());
			pst.executeUpdate();
			
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			DBUlit.close(pst, conn);
		}
		return false;  	
    }   
}
//user的get、set方法
	package com.lq.pro_user.domain;

public class user {
   private String name;
   private String address;
   private int ID;
   private int age;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getAddress() {
	return address;
}
public void setAddress(String address) {
	this.address = address;
}
public int getID() {
	return ID;
}
public void setID(int iD) {
	ID = iD;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}
   
}

package com.lq.pro_user.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class UserLoginServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
   @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	       req.setCharacterEncoding("utf-8");
	       String name=req.getParameter("name");
	       String pass=req.getParameter("pass");
	       ServletConfig config=getServletConfig();
	       String uname=config.getInitParameter("username");
	       String upass=config.getInitParameter("userpass");
	       resp.setContentType("text/html;charset=utf-8");
	     
	       PrintWriter out=resp.getWriter();
	       if(uname.equals(name)&&upass.equals(pass)) {
	    	   resp.sendRedirect(req.getContextPath()+"/list");
	       }else {
	    	   resp.sendRedirect(req.getContextPath()+"/login_err.html");
	       }       
}
}

package com.lq.pro_user.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;

public class UserAddServlet extends HttpServlet {
	private userDAO udao=new userDAO();
   @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	   this.doPost(req, resp);
}
   
      @Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		req.setCharacterEncoding("utf-8");
    	 
    	  user u=new user();
    		String id=req.getParameter("id");
    	  String name=req.getParameter("name"); 
    	  String age=req.getParameter("age"); 
    	  String address=req.getParameter("address"); 
    	 u.setAddress(address);
    	 u.setAge(Integer.parseInt(age));
    	 u.setID(Integer.parseInt(id));
    	 u.setName(name);
         boolean b=udao.add(u);
         resp.setContentType("text/html;charset=utf-8");
         PrintWriter out=resp.getWriter();
         if (b) {
			
        	 out.print("添加成功");
		}else {
			out.print("添加失败");
			
		}
    	}
      
}

package com.lq.pro_user.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;

import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;

public class UserEditServlet extends HttpServlet {
	private userDAO udao=new userDAO();
   @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                    this.doPost(req, resp);
     
   }
   
  @Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	           
                resp.setContentType("text/html;charset=utf-8");
	             PrintWriter out=resp.getWriter();
	  
	            
                 user u=udao.querryById(Integer.parseInt(req.getParameter("id")));
                 if (u==null) {
					out.print("查无此人");
				}
                 out.print("<html>");
     	        out.print("<head>");
     	        out.print("</head>");
     	        out.print("<body>");
     	        out.print("<form action='update' method='post'>");
     	        out.print("ID:<input type='text' value='"+u.getID()+"'readonly name='id'/><br>");
     	        out.print("name:<input type='text' value='"+u.getName()+"'name='name'/><br>");
     	        out.print("age:<input type='text' value='"+u.getAge()+"'name='age'/><br>");
     	        out.print("address:<input type='text' value='"+u.getAddress()+"' name='address'/><br>");
     	        out.print("<input type='submit' value='修改'/><br>");
     	        out.print("</form>");
     	        out.print("</body>");
     	        out.print("</html>");
                 
  }
              
}

package com.lq.pro_user.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;

import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;

public class UserUpdateServlet extends HttpServlet {
	private userDAO udao=new userDAO();
   
	 @Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		this.doPost(req, resp);
	}
	 @Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		 req.setCharacterEncoding("utf-8");
         String name= req.getParameter("name");
         String id= req.getParameter("id");
         String age= req.getParameter("age");
         String address= req.getParameter("address");
        user u=new user();
        u.setID(Integer.parseInt(id));
        u.setAddress(address);
        u.setName(name);
        u.setAge(Integer.parseInt(age));
        boolean b=udao.update(u);
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter out=resp.getWriter();
        if (b) {
			req.getRequestDispatcher("/list").forward(req, resp);
		}
       out.print("修改失败");
	}
}
package com.lq.pro_user.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;

import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;

public class UserDelServlet extends HttpServlet {
	private userDAO udao=new userDAO();
          @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        	this.doPost(req, resp);
        }
          @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
                       int id=Integer.parseInt(req.getParameter("id"));
                       user u =udao.querryById(id);
                       resp.setContentType("text/html;charset=utf-8");
                       PrintWriter out=resp.getWriter();
                       if (u==null) {
                    	   out.println("查无此人,删除失败");
					}else {
						boolean b=udao.del(id);
						if(!b) {
							out.print("删除失败");
						}else {
							req.getRequestDispatcher("/list").forward(req, resp);;
							
						}
					}
                       
        }
          
}

package com.lq.pro_user.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;

import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;

public class UserDeleteServlet extends HttpServlet {
	private userDAO udao=new userDAO();
               @Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	             this.doPost(req, resp);
	   }
	   
	   @Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		   int id=Integer.parseInt(req.getParameter("id"));
		   user u=udao.querryById(id);
		   resp.setContentType("text/html;charset=utf-8");
		   PrintWriter out=resp.getWriter();
		   if (u==null) {
			  out.print("所删除的人信息不存在!!");
			  return ;
		}
		   out.print("<html>");
  	        out.print("<head>");
  	        out.print("</head>");
  	        out.print("<body>");
  	        out.print("<form action='del' method='post'>");
  	        out.print("ID:<input type='text' value='"+u.getID()+"'readonly name='id'/><br>");
  	        out.print("name:<input type='text' value='"+u.getName()+"'name='name'/><br>");
  	        out.print("age:<input type='text' value='"+u.getAge()+"'name='age'/><br>");
  	        out.print("address:<input type='text' value='"+u.getAddress()+"' name='address'/><br>");
  	        out.print("<input type='submit' value='删除'/><br>");
  	        out.print("</form>");
  	        out.print("</body>");
  	        out.print("</html>");
	   }             
}
package com.lq.pro_user.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.jws.soap.SOAPBinding.Use;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import com.lq.pro_user.dao.userDAO;
import com.lq.pro_user.domain.user;



public class UserListServlet implements Servlet {
     private userDAO dao=new userDAO();//创建userDAO的对象,用来调用userDAO中的方法,实现对user表的操作。
	@Override
	public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
		List<user> ulist=dao.querrAll();//将调用userDAO的方法返回的值放入ulist中,方便面后面遍历在网页中显示。
		req.setAttribute("ulist",ulist);
		req.getRequestDispatcher("/listView").forward(req, resp);
	  	}
	
	@Override
	public void destroy() {
	}

	@Override
	public ServletConfig getServletConfig() {
		return null;
	}

	@Override
	public String getServletInfo() {
		return null;
	}

	@Override
	public void init(ServletConfig arg0) throws ServletException {
	}
}

package com.lq.pro_user.servlet;

import java.io.IOException;
import java.io.PrintWriter;
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 org.apache.tomcat.jni.User;

import com.lq.pro_user.domain.user;

public class UserListViewServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	this.doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    	resp.setContentType("text/html;charset=utf-8");//设定网页的编码格式。
    	List<user> ulist=(List<user>) req.getAttribute("ulist");
		PrintWriter out=resp.getWriter();        //获得输出流
		 out.print("<html>");                   //开始往网页上输出。
	        out.print("<head>");
	        out.print("</head>");
	        out.print("<body>");
	        out.print("<a href='add.html'>添加</a>");
	        out.print("<table with='80%' border='1'>");
	        out.print("<tr><td>ID</td><td>名字</td><td>年龄</td><td>地址</td><td>操作</td><td>操作</td></tr>");
	        for(user u:ulist) {
	      	  out.print("<tr><td>"+u.getID()+"</td><td>"+u.getName()+"</td><td>"+u.getAge()+"</td><td>"
	        +u.getAddress()+"</td><td><a href=edit?id="+u.getID()+">修改</a></td><td><a href=delete?id="+u.getID()+">删除</a></td></tr>");
	       
	        }
	        out.print("</table>");
	        out.print("</body>");
	        out.print("</html>");
    }
}

package com.lq.pro_user.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.apache.tomcat.jni.User;

public class DBUlit {
	
        static {
        	try {
        		Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
        }
        public static Connection opean() throws SQLException {    //建立返回连接的打开函数。
			return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","9867");
        	
        }
        public static void close(ResultSet rs,PreparedStatement pst,Connection conn) {//关闭资源
        	if(rs!=null) {
        		try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
        	}
        	if(pst!=null) {
        		try {
        			pst.close();
        		} catch (SQLException e) {
        			e.printStackTrace();
        		}
        	}
        	if(conn!=null) {
        		try {
        			conn.close();
        		} catch (SQLException e) {
        			e.printStackTrace();
        		}
        	}
        }
        public static void close(PreparedStatement pst,Connection conn) {
        	close(null, pst, conn);
        }
}

配置xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name></display-name>
  <welcome-file-list>
    <welcome-file>login.html</welcome-file>
    
  </welcome-file-list>
  <servlet>
    <servlet-name>list</servlet-name>
    <servlet-class>com.lq.pro_user.servlet.UserListServlet</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>list</servlet-name>
     <url-pattern>/list</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>listview</servlet-name>
    <servlet-class>com.lq.pro_user.servlet.UserListViewServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>listview</servlet-name>
      <url-pattern>/listView</url-pattern>
  </servlet-mapping>
  
  <servlet>
           <servlet-name>login</servlet-name>
           <servlet-class>com.lq.pro_user.servlet.UserLoginServlet</servlet-class>
           <init-param>
           <param-name>username</param-name>
           <param-value>admin</param-value>
           </init-param>
           <init-param>
           <param-name>userpass</param-name>
           <param-value>123456</param-value>
           </init-param>
  </servlet>
  <servlet-mapping>
  <servlet-name>login</servlet-name>
  <url-pattern>/login</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>add</servlet-name>
  <servlet-class>com.lq.pro_user.servlet.UserAddServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>add</servlet-name>
  <url-pattern>/add</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>edit</servlet-name>
  <servlet-class>com.lq.pro_user.servlet.UserEditServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>edit</servlet-name>
  <url-pattern>/edit</url-pattern>
  </servlet-mapping>
  
  <servlet>
    <servlet-name>update</servlet-name>
  <servlet-class>com.lq.pro_user.servlet.UserUpdateServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>update</servlet-name>
  <url-pattern>/update</url-pattern>
  </servlet-mapping>
  
    <servlet>
    <servlet-name>del</servlet-name>
  <servlet-class>com.lq.pro_user.servlet.UserDelServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>del</servlet-name>
  <url-pattern>/del</url-pattern>
  </servlet-mapping>
  
   <servlet>
    <servlet-name>delete</servlet-name>
  <servlet-class>com.lq.pro_user.servlet.UserDeleteServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>delete</servlet-name>
  <url-pattern>/delete</url-pattern>
  </servlet-mapping>
</web-app>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 		<form action="login" method="post">
 		账号:<input type="text" name="name"><br>
 		密码:<input type="password"  name="pass"><br>
 		<input type="submit" value="登陆"/>
 		</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   <h1>
      账号或密码错误请重新<a herf="login.html">登陆</a>
   </h1>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   <form action="add" method="post">
   ID<input type="text" name="id"/><br>
   Name<input type="text" name="name"/><br>
   Age<input type="text" name="age"/><br>
   Address<input type="text" name="address"/><br>
   <input type="submit" value="添加"/>
   <input type="button" value="返回" onclick="history.back();"/>
   </form>
</body>
</html>
  • 18
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 35
    评论
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
与本课题相关的技术和方法综述: 系统将采用JSP、SQL Server 2008、JDBC、JavaScript技术来进行设计,具体如下: (1)JSP JSP是一种动态网页开发技术,主要用于实现应用程序的登录界面和资源信息等界面。JSP标签可以访问数据库、记录用户选择信息。 JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。本系统将采用JSP技术,运用HTML和CSS实现各个功能的网页界面,与对应的java程序连接实现各个功能。 (2)SQL Server SQL Server具有使用方便可伸缩性好与相关软件集成程度高等优点,本系统将采用SQL Server技术建立多个数据库表用来记录学生的账号信息、管理员信息、学生个人共享的学习资源和所有学生共享的学习资源。 (3)JDBC JDBC是一种用于执行SQL语句的Java API,有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。本系统将采用JDBC技术实现Java程序与SQL Server之间的链接,可以通过程序来对数据库进行学生共享学习资源、学生询学习资源、管理员对学习资源增删改查等操作。 (4)JavaScript JS具有跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(Windows、Linux、Mac、Android、iOS等),在本设计中将用JS做一些动态交互和事件响应效果。 山西大学商务学院毕业论文(设计)开题报告 主要设计内容: 设计内容主要包括系统需求分析、功能分析、数据库设计、系统测试主要内容,具体如下: 1、系统需求分析 学习资源共享系统是一个面闻喜中学学生的共享系统,对于学生来说,可以注册账号然后通过系统向其他学生共享自己的学习资源并可以看自己的分享历史,也可以询其他学生分享的学习资源让自己了解更多。对于系统的管理员来说主要是对学生们分享的资源进行一些审,不合适的资源将进行除。 2、功能分析 设计的系统主要包括学生共享模块,共享记录模块,留言板,浏览记录模块,管理员模块等功能。 (1)学生的登录模块:学生注册账号密码,账号密码将保存到数据库中,然后学生登录。 (2)学生共享模块:学生对自己想要共享的资源进行录入,录入时对资源进行分类录入,可以在整个资源页面进行搜索,可以模糊搜索。 (3)共享记录模块:学生可以看自己共享的记录,可以除自己不想再共享的资源,也可以修自己的共享记录。 (4)留言板:学生可以留言自己想要获得的资源,其他学生可以在下面回复他。 (5)浏览记录模块:学生可以看自己浏览过哪些资源记录,并可以除它们。 (6)管理员模块:管理员有固定账号密码,可以对所有共享的学习资源进行增删改查。 3、数据库设计 数据库将建立存储管理员账号密码的表和学生账号密码的表,存放资源信息的表、学生个人共享资源的表。 4、系统测试 设计将采用功能测试,进行登录注册功能的测试,验证学生账号密码是否能存进数据库,进行资源的增删改查等操作测试与数据库是否正常连接。在不同的电脑系统上运行程序测试是否可以正常运行。
Spring Boot是一个非常流行的Java框架,可以轻松地创建Web应用程序。Layui是一个流行的前端UI框架,可以帮助我们快速地创建漂亮的Web页面。在这里,我将向你展示如何使用Spring Boot和Layui来实现基本的增删改查功能。 首先,我们需要创建一个Spring Boot项目。你可以使用Spring Initializr来创建一个新项目,也可以使用Eclipse或IntelliJ IDEA等IDE来创建一个新项目。 接下来,我们需要添加一些依赖项。在这个例子中,我们将使用Spring Data JPA来访问数据库。在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> ``` 我们还需要添加Spring Boot和Layui的依赖项。在pom.xml文件中添加以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>layui</artifactId> <version>2.5.4</version> </dependency> <dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.1.0</version> </dependency> ``` 接下来,我们需要配置数据库连接。在application.properties文件中添加以下代码: ``` spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.h2.console.enabled=true ``` 在这里,我们使用H2内存数据库来简化示例。在实际应用程序中,你可能需要使用其他数据库,例如MySQL或PostgreSQL。 现在,我们将创建一个实体类来表示我们的数据表。在这个例子中,我们将创建一个简单的数据表,其中包含id,name和age字段。创建一个名为Person的类,并在其中添加以下代码: ```java @Entity @Table(name = "person") public class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; private int age; // getters and setters } ``` 接下来,我们将创建一个Spring Data JPA存储库来访问数据库。创建一个名为PersonRepository的接口,并在其中添加以下代码: ```java @Repository public interface PersonRepository extends JpaRepository<Person, Long> { } ``` 现在我们已经设置好了数据访问层,我们将创建一个控制器来处理HTTP请求。创建一个名为PersonController的类,并在其中添加以下代码: ```java @Controller public class PersonController { @Autowired private PersonRepository personRepository; @GetMapping("/") public String index(Model model) { List<Person> persons = personRepository.findAll(); model.addAttribute("persons", persons); return "index"; } @GetMapping("/add") public String addForm(Model model) { return "add"; } @PostMapping("/add") public String addSubmit(@ModelAttribute Person person) { personRepository.save(person); return "redirect:/"; } @GetMapping("/edit/{id}") public String editForm(@PathVariable Long id, Model model) { Person person = personRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("Invalid person id:" + id)); model.addAttribute("person", person); return "edit"; } @PostMapping("/edit/{id}") public String editSubmit(@PathVariable Long id, @ModelAttribute Person person, BindingResult bindingResult) { if (bindingResult.hasErrors()) { person.setId(id); return "edit"; } personRepository.save(person); return "redirect:/"; } @GetMapping("/delete/{id}") public String delete(@PathVariable Long id) { personRepository.deleteById(id); return "redirect:/"; } } ``` 在这里,我们定义了五个方法来处理HTTP请求: - `index()` - 处理根路径请求,列出所有人员记录。 - `addForm()` - 处理添加人员记录请求,返回一个包含表单的页面。 - `addSubmit()` - 处理添加人员记录请求,将表单提交的数据保存到数据库中。 - `editForm()` - 处理编辑人员记录请求,返回一个包含表单的页面。 - `editSubmit()` - 处理编辑人员记录请求,将表单提交的数据更新到数据库中。 - `delete()` - 处理除人员记录请求,从数据库除指定的记录。 现在我们需要创建HTML模板来呈现数据。创建一个名为index.html的文件,并在其中添加以下代码: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Person List</title> <link rel="stylesheet" type="text/css" href="/webjars/layui/2.5.4/css/layui.css"> <script type="text/javascript" src="/webjars/jquery/3.1.0/jquery.min.js"></script> <script type="text/javascript" src="/webjars/layui/2.5.4/layui.js"></script> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <h2>Person List</h2> </div> </div> <div class="layui-row"> <div class="layui-col-md12"> <table class="layui-table"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Age</th> <th>Actions</th> </tr> </thead> <tbody> <tr th:each="person : ${persons}"> <td th:text="${person.id}"></td> <td th:text="${person.name}"></td> <td th:text="${person.age}"></td> <td> <button class="layui-btn layui-btn-xs" onclick="location.href='/edit/'+${person.id}">Edit</button> <button class="layui-btn layui-btn-danger layui-btn-xs" onclick="location.href='/delete/'+${person.id}">Delete</button> </td> </tr> </tbody> </table> </div> </div> <div class="layui-row"> <div class="layui-col-md12"> <button class="layui-btn" onclick="location.href='/add'">Add Person</button> </div> </div> </div> </body> </html> ``` 这个模板使用Thymeleaf作为模板引擎,并使用Layui来创建漂亮的表格和按钮。它列出了所有人员记录,并提供了添加,编辑和除记录的链接。 接下来,我们需要创建一个名为add.html的文件,其中包含添加人员记录的表单。添加以下代码: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Add Person</title> <link rel="stylesheet" type="text/css" href="/webjars/layui/2.5.4/css/layui.css"> <script type="text/javascript" src="/webjars/jquery/3.1.0/jquery.min.js"></script> <script type="text/javascript" src="/webjars/layui/2.5.4/layui.js"></script> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <h2>Add Person</h2> </div> </div> <div class="layui-row"> <div class="layui-col-md12"> <form class="layui-form" method="post" action="/add"> <div class="layui-form-item"> <label class="layui-form-label">Name:</label> <div class="layui-input-block"> <input type="text" name="name" required lay-verify="required" placeholder="Enter name" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">Age:</label> <div class="layui-input-block"> <input type="text" name="age" required lay-verify="required" placeholder="Enter age" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">Submit</button> <button type="reset" class="layui-btn layui-btn-primary">Reset</button> </div> </div> </form> </div> </div> </div> </body> </html> ``` 这个模板使用Layui创建一个包含name和age字段的表单。当用户提交表单时,它将数据发送到服务器上的/add路由。 接下来,我们需要创建一个名为edit.html的文件,其中包含编辑人员记录的表单。添加以下代码: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Edit Person</title> <link rel="stylesheet" type="text/css" href="/webjars/layui/2.5.4/css/layui.css"> <script type="text/javascript" src="/webjars/jquery/3.1.0/jquery.min.js"></script> <script type="text/javascript" src="/webjars/layui/2.5.4/layui.js"></script> </head> <body> <div class="layui-container"> <div class="layui-row"> <div class="layui-col-md12"> <h2>Edit Person</h2> </div> </div> <div class="layui-row"> <div class="layui-col-md12"> <form class="layui-form" method="post" th:action="@{'/edit/'+${person.id}}" th:object="${person}"> <div class="layui-form-item"> <label class="layui-form-label">Name:</label> <div class="layui-input-block"> <input type="text" name="name" required lay-verify="required" th:value="${person.name}" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">Age:</label> <div class="layui-input-block"> <input type="text" name="age" required lay-verify="required" th:value="${person.age}" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="formDemo">Submit</button> <button type="reset" class="layui-btn layui-btn-primary">Reset</button> </div> </div> </form> </div> </div> </div> </body> </html> ``` 这个模板使用Layui创建一个包含name和age字段的表单,并将表单数据预填充为当前记录的值。当用户提交表单时,它将数据发送到服务器上的/edit/{id}路由。 最后,我们需要为我们的应用程序创建一个入口点。创建一个名为Application的类,并在其中添加以下代码: ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 现在我们已经设置好了我们的应用程序,运行它并访问http://localhost:8080/,你应该能够看到一个包含所有人员记录的表格,以及添加,编辑和除记录的链接。 这就是使用Spring Boot和Layui实现网页增删改查的基本步骤。当然,你可以扩展它以满足你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值