javaweb增删改查

javaweb增删改查

3322人阅读 评论(0) 收藏 举报
分类:

  1. 大二下学期机考题目:基于javaweb对Address的增删改查  
大二下学期机考题目:基于javaweb对Address的增删改查



Address类

  1. package entity;  
  2.   
  3. public class Address{  
  4.     private int id;  
  5.     private String name;  
  6.     private String street;  
  7.     private String city;  
  8.     private String state;  
  9.     private String zip;  
  10.   
  11.     public int getId(){  
  12.         return id;  
  13.     }  
  14.     public void setId(int id){  
  15.         this.id = id;  
  16.     }  
  17.     public String getName(){  
  18.         return name;  
  19.     }  
  20.     public void setName(String name){  
  21.         this.name = name;  
  22.     }  
  23.     public String getStreet(){  
  24.         return street;  
  25.     }  
  26.     public void setStreet(String street){  
  27.         this.street = street;  
  28.     }  
  29.     public String getCity(){  
  30.         return city;  
  31.     }  
  32.     public void setCity(String city){  
  33.         this.city = city;  
  34.     }  
  35.     public String getState(){  
  36.         return state;  
  37.     }  
  38.     public void setState(String state){  
  39.         this.state = state;  
  40.     }  
  41.     public String getZip(){  
  42.         return zip;  
  43.     }  
  44.     public void setZip(String zip){  
  45.         this.zip = zip;  
  46.     }  
  47. }  
package entity;

public class Address{
	private int id;
	private String name;
	private String street;
	private String city;
	private String state;
	private String zip;

	public int getId(){
		return id;
	}
	public void setId(int id){
	    this.id = id;
	}
	public String getName(){
		return name;
	}
	public void setName(String name){
	    this.name = name;
	}
	public String getStreet(){
		return street;
	}
	public void setStreet(String street){
	    this.street = street;
	}
	public String getCity(){
		return city;
	}
	public void setCity(String city){
	    this.city = city;
	}
	public String getState(){
		return state;
	}
	public void setState(String state){
	    this.state = state;
	}
	public String getZip(){
		return zip;
	}
	public void setZip(String zip){
	    this.zip = zip;
	}
}

工具类

  1. package util;  
  2.   
  3. import java.sql.*;  
  4.   
  5. public class JdbcUtil{  
  6.     static{  
  7.        try{  
  8.            //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  9.            Class.forName("com.mysql.jdbc.Driver");  
  10.        }catch(ClassNotFoundException e){  
  11.            e.printStackTrace();  
  12.        }  
  13.     }  
  14.   
  15.     public static Connection getConnection() throws SQLException{  
  16.         //return DriverManager.getConnection("jdbc:odbc:address");  
  17.         return DriverManager.getConnection("jdbc:mysql://localhost:3306/address?user=root&password=root&characterEncoding=utf-8");  
  18.     }  
  19.       
  20.     public static void close(Statement stmt,Connection conn)throws SQLException{  
  21.          stmt.close();  
  22.          conn.close();  
  23.     }  
  24.   
  25.     public static void close(ResultSet rs,Statement stmt,Connection conn)throws SQLException{  
  26.          rs.close();  
  27.          close(stmt,conn);  
  28.     }  
  29.       
  30. }  
package util;

import java.sql.*;

public class JdbcUtil{
	static{
	   try{
	       //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		   Class.forName("com.mysql.jdbc.Driver");
	   }catch(ClassNotFoundException e){
		   e.printStackTrace();
	   }
	}

	public static Connection getConnection() throws SQLException{
		//return DriverManager.getConnection("jdbc:odbc:address");
		return DriverManager.getConnection("jdbc:mysql://localhost:3306/address?user=root&password=root&characterEncoding=utf-8");
	}
	
	public static void close(Statement stmt,Connection conn)throws SQLException{
	     stmt.close();
		 conn.close();
	}

	public static void close(ResultSet rs,Statement stmt,Connection conn)throws SQLException{
	     rs.close();
		 close(stmt,conn);
	}
    
}

dao包

  1. //DAO:Data Access Object,Design Pattern设计模式  
  2. package dao;  
  3.   
  4. import java.sql.*;  
  5. import java.util.*;  
  6.   
  7. import entity.*;  
  8. import util.*;  
  9.   
  10. public class AddressDao{  
  11.     public void add(Address address){  
  12.         try{  
  13.             Connection conn = JdbcUtil.getConnection();  
  14.             PreparedStatement pstmt = conn.prepareStatement("insert into address (name,street,city,state,zip) values (?,?,?,?,?)");  
  15.             pstmt.setString(1,address.getName());  
  16.             pstmt.setString(2,address.getStreet());  
  17.             pstmt.setString(3,address.getCity());  
  18.             pstmt.setString(4,address.getState());  
  19.             pstmt.setString(5,address.getZip());  
  20.             pstmt.executeUpdate();  
  21.             JdbcUtil.close(pstmt,conn);  
  22.         }catch(SQLException e){  
  23.             e.printStackTrace();  
  24.             throw new RuntimeException(e);  
  25.         }  
  26.     }  
  27.     public void delete(int id){  
  28.         try{  
  29.             Connection conn = JdbcUtil.getConnection();  
  30.             PreparedStatement pstmt = conn.prepareStatement("delete from address where id =?");  
  31.             pstmt.setInt(1,id);  
  32.             pstmt.executeUpdate();  
  33.             JdbcUtil.close(pstmt,conn);  
  34.         }catch(SQLException e){  
  35.             e.printStackTrace();  
  36.             throw new RuntimeException(e);  
  37.         }  
  38.     }  
  39.     public void update(Address address){  
  40.         try{  
  41.             Connection conn = JdbcUtil.getConnection();  
  42.             PreparedStatement pstmt = conn.prepareStatement("update address set name=?,street=?,city=?,state=?,zip=? where id=?");  
  43.             pstmt.setString(1,address.getName());  
  44.             pstmt.setString(2,address.getStreet());  
  45.             pstmt.setString(3,address.getCity());  
  46.             pstmt.setString(4,address.getState());  
  47.             pstmt.setString(5,address.getZip());  
  48.             pstmt.setInt(6,address.getId());  
  49.             pstmt.executeUpdate();  
  50.             JdbcUtil.close(pstmt,conn);  
  51.         }catch(SQLException e){  
  52.             e.printStackTrace();  
  53.             throw new RuntimeException(e);  
  54.         }  
  55.     }  
  56.     public List<Address> findAll(){  
  57.         List<Address> list = new ArrayList<Address>();  
  58.         try{  
  59.             Connection conn = JdbcUtil.getConnection();  
  60.             PreparedStatement pstmt = conn.prepareStatement("select * from address");  
  61.             ResultSet rs = pstmt.executeQuery();  
  62.             while(rs.next()){  
  63.                Address address = new Address();  
  64.                address.setId(rs.getInt(1));  
  65.                address.setName(rs.getString(2));  
  66.                address.setStreet(rs.getString(3));  
  67.                address.setCity(rs.getString(4));  
  68.                address.setState(rs.getString(5));  
  69.                address.setZip(rs.getString(6));  
  70.                list.add(address);  
  71.             }  
  72.   
  73.             JdbcUtil.close(pstmt,conn);  
  74.         }catch(SQLException e){  
  75.             e.printStackTrace();  
  76.             throw new RuntimeException(e);  
  77.         }  
  78.   
  79.         return list;  
  80.     }  
  81.       
  82.     public Address findById(int id){  
  83.         Address address = new Address();  
  84.         try{  
  85.             Connection conn = JdbcUtil.getConnection();  
  86.             PreparedStatement pstmt = conn.prepareStatement("select * from address where id=?");  
  87.             pstmt.setInt(1,id);  
  88.             ResultSet rs = pstmt.executeQuery();  
  89.             if(rs.next()){  
  90.                address.setId(rs.getInt(1));  
  91.                address.setName(rs.getString(2));  
  92.                address.setStreet(rs.getString(3));  
  93.                address.setCity(rs.getString(4));  
  94.                address.setState(rs.getString(5));  
  95.                address.setZip(rs.getString(6));  
  96.             }  
  97.   
  98.             JdbcUtil.close(pstmt,conn);  
  99.         }catch(SQLException e){  
  100.             e.printStackTrace();  
  101.             throw new RuntimeException(e);  
  102.         }  
  103.   
  104.         return address;  
  105.     }     
  106. }  
//DAO:Data Access Object,Design Pattern设计模式
package dao;

import java.sql.*;
import java.util.*;

import entity.*;
import util.*;

public class AddressDao{
	public void add(Address address){
		try{
			Connection conn = JdbcUtil.getConnection();
			PreparedStatement pstmt = conn.prepareStatement("insert into address (name,street,city,state,zip) values (?,?,?,?,?)");
			pstmt.setString(1,address.getName());
			pstmt.setString(2,address.getStreet());
			pstmt.setString(3,address.getCity());
			pstmt.setString(4,address.getState());
			pstmt.setString(5,address.getZip());
			pstmt.executeUpdate();
			JdbcUtil.close(pstmt,conn);
		}catch(SQLException e){
		    e.printStackTrace();
			throw new RuntimeException(e);
		}
	}
	public void delete(int id){
		try{
			Connection conn = JdbcUtil.getConnection();
			PreparedStatement pstmt = conn.prepareStatement("delete from address where id =?");
			pstmt.setInt(1,id);
			pstmt.executeUpdate();
			JdbcUtil.close(pstmt,conn);
		}catch(SQLException e){
		    e.printStackTrace();
			throw new RuntimeException(e);
		}
	}
	public void update(Address address){
		try{
			Connection conn = JdbcUtil.getConnection();
			PreparedStatement pstmt = conn.prepareStatement("update address set name=?,street=?,city=?,state=?,zip=? where id=?");
			pstmt.setString(1,address.getName());
			pstmt.setString(2,address.getStreet());
			pstmt.setString(3,address.getCity());
			pstmt.setString(4,address.getState());
			pstmt.setString(5,address.getZip());
			pstmt.setInt(6,address.getId());
			pstmt.executeUpdate();
			JdbcUtil.close(pstmt,conn);
		}catch(SQLException e){
		    e.printStackTrace();
			throw new RuntimeException(e);
		}
	}
    public List<Address> findAll(){
		List<Address> list = new ArrayList<Address>();
		try{
			Connection conn = JdbcUtil.getConnection();
			PreparedStatement pstmt = conn.prepareStatement("select * from address");
			ResultSet rs = pstmt.executeQuery();
			while(rs.next()){
			   Address address = new Address();
			   address.setId(rs.getInt(1));
			   address.setName(rs.getString(2));
			   address.setStreet(rs.getString(3));
			   address.setCity(rs.getString(4));
			   address.setState(rs.getString(5));
			   address.setZip(rs.getString(6));
			   list.add(address);
			}

			JdbcUtil.close(pstmt,conn);
		}catch(SQLException e){
		    e.printStackTrace();
			throw new RuntimeException(e);
		}

		return list;
	}
    
    public Address findById(int id){
		Address address = new Address();
		try{
			Connection conn = JdbcUtil.getConnection();
			PreparedStatement pstmt = conn.prepareStatement("select * from address where id=?");
			pstmt.setInt(1,id);
			ResultSet rs = pstmt.executeQuery();
			if(rs.next()){
			   address.setId(rs.getInt(1));
			   address.setName(rs.getString(2));
			   address.setStreet(rs.getString(3));
			   address.setCity(rs.getString(4));
			   address.setState(rs.getString(5));
			   address.setZip(rs.getString(6));
			}

			JdbcUtil.close(pstmt,conn);
		}catch(SQLException e){
		    e.printStackTrace();
			throw new RuntimeException(e);
		}

		return address;
	}	
}


首先在首页index.jsp文件中定向到AddressServlet类中

  1. <html>  
  2.   <head>  
  3.   
  4.       
  5.     <title>My JSP 'index.jsp' starting page</title>  
  6.       
  7.   </head>  
  8.     
  9.   <body>  
  10.       <jsp:forward page="AddressServlet?method=list"/>  
  11.   </body>  
  12. </html>  
<html>
  <head>

    
    <title>My JSP 'index.jsp' starting page</title>
	
  </head>
  
  <body>
      <jsp:forward page="AddressServlet?method=list"/>
  </body>
</html>

AddressServlet类负责处理底层数据

  1. package servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5. import java.util.List;  
  6.   
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11.   
  12. import dao.AddressDao;  
  13. import entity.Address;  
  14.   
  15. public class AddressServlet extends HttpServlet {  
  16.     private AddressDao addressDao = new AddressDao();     
  17.       
  18.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  19.             throws ServletException, IOException {  
  20.         String method = request.getParameter("method");  
  21.         String path="list.jsp";   
  22.           
  23.         if(method.equals("list")){  
  24.             List<Address> list = addressDao.findAll();  
  25.             request.setAttribute("list", list);  
  26.         }else if(method.equals("add")){  
  27.             String name = request.getParameter("name");  
  28.             String street = request.getParameter("street");  
  29.             String city = request.getParameter("city");  
  30.             String state = request.getParameter("state");  
  31.             String zip = request.getParameter("zip");  
  32.             Address address = new Address();  
  33.             address.setName(name);  
  34.             address.setStreet(street);  
  35.             address.setCity(city);  
  36.             address.setState(state);  
  37.             address.setZip(zip);  
  38.             addressDao.add(address);  
  39.               
  40.             path="AddressServlet?method=list";  
  41.         }else if(method.equals("delete")){  
  42.             int id = Integer.parseInt(request.getParameter("id"));  
  43.             addressDao.delete(id);  
  44.               
  45.             path="AddressServlet?method=list";  
  46.         }else if(method.equals("toedit")){  
  47.             int id = Integer.parseInt(request.getParameter("id"));  
  48.             Address address =  addressDao.findById(id);  
  49.               
  50.             request.setAttribute("address", address);  
  51.             path ="edit.jsp";  
  52.         }else if(method.equals("edit")){  
  53.             int id = Integer.parseInt(request.getParameter("id"));  
  54.             String name = request.getParameter("name");  
  55.             String street = request.getParameter("street");  
  56.             String city = request.getParameter("city");  
  57.             String state = request.getParameter("state");  
  58.             String zip = request.getParameter("zip");  
  59.             Address address = new Address();  
  60.             address.setId(id);  
  61.             address.setName(name);  
  62.             address.setStreet(street);  
  63.             address.setCity(city);  
  64.             address.setState(state);  
  65.             address.setZip(zip);  
  66.             addressDao.update(address);  
  67.               
  68.             path="AddressServlet?method=list";  
  69.         }  
  70.         request.getRequestDispatcher(path).forward(request, response);  
  71.           
  72.           
  73.     }  
  74.   
  75.       
  76.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  77.             throws ServletException, IOException {  
  78.         doGet(request, response);       
  79.           
  80.     }  
  81.   
  82. }  
package 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 dao.AddressDao;
import entity.Address;

public class AddressServlet extends HttpServlet {
    private AddressDao addressDao = new AddressDao();   
    
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
        String method = request.getParameter("method");
	    String path="list.jsp"; 
		
	    if(method.equals("list")){
		    List<Address> list = addressDao.findAll();
		    request.setAttribute("list", list);
		}else if(method.equals("add")){
			String name = request.getParameter("name");
			String street = request.getParameter("street");
			String city = request.getParameter("city");
			String state = request.getParameter("state");
			String zip = request.getParameter("zip");
			Address address = new Address();
			address.setName(name);
			address.setStreet(street);
			address.setCity(city);
			address.setState(state);
			address.setZip(zip);
			addressDao.add(address);
			
			path="AddressServlet?method=list";
		}else if(method.equals("delete")){
			int id = Integer.parseInt(request.getParameter("id"));
			addressDao.delete(id);
			
			path="AddressServlet?method=list";
		}else if(method.equals("toedit")){
			int id = Integer.parseInt(request.getParameter("id"));
			Address address =  addressDao.findById(id);
			
			request.setAttribute("address", address);
			path ="edit.jsp";
		}else if(method.equals("edit")){
			int id = Integer.parseInt(request.getParameter("id"));
			String name = request.getParameter("name");
			String street = request.getParameter("street");
			String city = request.getParameter("city");
			String state = request.getParameter("state");
			String zip = request.getParameter("zip");
			Address address = new Address();
			address.setId(id);
			address.setName(name);
			address.setStreet(street);
			address.setCity(city);
			address.setState(state);
			address.setZip(zip);
			addressDao.update(address);
			
			path="AddressServlet?method=list";
		}
		request.getRequestDispatcher(path).forward(request, response);
		
		
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
        doGet(request, response);     
		
	}

}

list文件显示所有信息

  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
  2. <%@ page import="entity.Address;"%>  
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.   <head>  
  7.       
  8.       
  9.     <title>list.jsp</title>  
  10.       
  11.   </head>  
  12.     
  13.   <body>  
  14.                  
  15.                <table border="1">  
  16.                  <tr><td>Id</td><td>Name</td><td>Street</td>  
  17.                        <td>City</td><td>State</td><td>Zip</td><td>Option</td></tr>   
  18.                <%    
  19.                    List<Address> list =(List<Address>)request.getAttribute("list");   
  20.                    for(Address addr : list){  
  21.                %>  
  22.                   <tr><td><%= addr.getId() %></td><td><%= addr.getName() %></td><td><%= addr.getStreet() %></td>  
  23.                        <td><%= addr.getCity() %></td><td><%= addr.getState() %></td><td><%= addr.getZip() %></td>  
  24.                        <td><a href="AddressServlet?method=delete&id=<%= addr.getId() %>">delete</a>    
  25.                              <a href="AddressServlet?method=toedit&id=<%= addr.getId() %>">edit</a></td>  
  26.                        </tr>   
  27.                <%   
  28.                    }  
  29.                %>  
  30.                </table>  
  31.                <a href="add.jsp">Add</a>  
  32.   </body>  
  33. </html>  
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="entity.Address;"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    
    <title>list.jsp</title>
	
  </head>
  
  <body>
               
               <table border="1">
                 <tr><td>Id</td><td>Name</td><td>Street</td>
                       <td>City</td><td>State</td><td>Zip</td><td>Option</td></tr> 
               <%  
                   List<Address> list =(List<Address>)request.getAttribute("list"); 
                   for(Address addr : list){
               %>
                  <tr><td><%= addr.getId() %></td><td><%= addr.getName() %></td><td><%= addr.getStreet() %></td>
                       <td><%= addr.getCity() %></td><td><%= addr.getState() %></td><td><%= addr.getZip() %></td>
                       <td><a href="AddressServlet?method=delete&id=<%= addr.getId() %>">delete</a>  
                             <a href="AddressServlet?method=toedit&id=<%= addr.getId() %>">edit</a></td>
                       </tr> 
               <% 
                   }
               %>
               </table>
               <a href="add.jsp">Add</a>
  </body>
</html>


add.jsp文件负责增加条目

  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
  2.   
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.   <head>  
  7.   
  8.       
  9.     <title>My JSP 'index.jsp' starting page</title>  
  10.       
  11.   </head>  
  12.     
  13.   <body>  
  14.       <form  action="AddressServlet?method=add" method="post">  
  15.          Name:<input type="text" name="name"><br>  
  16.          Street:<input type="text" name="street"><br>  
  17.          City:<input type="text" name="city"><br>  
  18.          State:<input type="text" name="state"><br>  
  19.          Zip:<input type="text" name="zip"><br>  
  20.          <input type="submit" value="Add"><br>  
  21.       </form>  
  22.   </body>  
  23. </html>  
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    
    <title>My JSP 'index.jsp' starting page</title>
	
  </head>
  
  <body>
      <form  action="AddressServlet?method=add" method="post">
         Name:<input type="text" name="name"><br>
         Street:<input type="text" name="street"><br>
         City:<input type="text" name="city"><br>
         State:<input type="text" name="state"><br>
         Zip:<input type="text" name="zip"><br>
         <input type="submit" value="Add"><br>
      </form>
  </body>
</html>


edit文件负责修改

  1. <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>  
  2. <%@ page import="entity.Address" %>  
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  5. <html>  
  6.   <head>  
  7.   
  8.       
  9.     <title>edit.jsp</title>  
  10.       
  11.   </head>  
  12.     
  13.   <body>  
  14.      <%    
  15.        Address address =  (Address)request.getAttribute("address");   
  16.      %>  
  17.       <form  action="AddressServlet?method=edit&id=<%= address.getId() %>" method="post">  
  18.          Name:<input type="text" name="name" value="<%= address.getName() %>"><br>  
  19.          Street:<input type="text" name="street" value="<%= address.getStreet() %>"><br>  
  20.          City:<input type="text" name="city" value="<%= address.getCity() %>"><br>  
  21.          State:<input type="text" name="state" value="<%= address.getState() %>"><br>  
  22.          Zip:<input type="text" name="zip" value="<%= address.getZip() %>"><br>  
  23.          <input type="submit" value="Edit"><br>  
  24.       </form>  
  25.   </body>  
  26. </html>  
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="entity.Address" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    
    <title>edit.jsp</title>
	
  </head>
  
  <body>
     <%  
       Address address =  (Address)request.getAttribute("address"); 
     %>
      <form  action="AddressServlet?method=edit&id=<%= address.getId() %>" method="post">
         Name:<input type="text" name="name" value="<%= address.getName() %>"><br>
         Street:<input type="text" name="street" value="<%= address.getStreet() %>"><br>
         City:<input type="text" name="city" value="<%= address.getCity() %>"><br>
         State:<input type="text" name="state" value="<%= address.getState() %>"><br>
         Zip:<input type="text" name="zip" value="<%= address.getZip() %>"><br>
         <input type="submit" value="Edit"><br>
      </form>
  </body>
</html>


1
0
 
 
猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论

  暂无评论

发表评论
  • 用 户 名:
  • qq_15237993
  •   
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值