JavaWeb-JavaBean

1.JavaBean规范

1.1简介

1.什么是JavaBean?

  • 公共的类
  • 必须有一个无参数的构造方法
  • 属性一般都是private的,必须有get和set的方法
  • JavaBean中可以封装一些业务实现的方法

1.2创建JavaBean对象

1.案例:创建一个JavaBean对象

第一步:建立一个数据库表。(为创建JavaBean对象做好准备)

  • 创建一个名为“vue”的数据库
  • 创建一个user表

 

第二步:创建JavaBean对象User

package pojo;
//创建JavaBean对象
public class User {
private String id;
private String name;
private String password;
public String getId() {
    return id;
}
//get和set方法
public void setId(String id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
public User(String id, String name, String password) {
    super();
    this.id = id;
    this.name = name;
    this.password = password;
}
//无参数的构造
public User() {
    super();
}
@Override
public String toString() {
    return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
}
 
 
} 

1.3访问JavaBean对象

1.如何进行访问?

采用的是动作元素的方式进行访问我们的JavaBean对象。

第一步:创建test.jsp

采用的是设置value的方式进行设置JavaBean属性的值。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
<jsp:setProperty property="id" name="user" value="001"/>
<jsp:setProperty property="name" name="user" value="张三"/>
<jsp:setProperty property="password" name="user" value="1234465"/>
<%--访问JavaBean对象(第一种访问的方式) --%>
<jsp:getProperty property="id" name="user"/>
<jsp:getProperty property="name" name="user"/>
<jsp:getProperty property="password" name="user"/>
</body>
</html>

效果图:

1.4创建一个简单的登录页面

1.第一步:创建一个简单的登录界面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<h1>登录界面</h1>
<form action="handleLogin.jsp" method="get">
账号:<input trype="text" name="id"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="提交">
</form>
</body>
</html>

效果图:

2.第二步:创建一个接收和处理login界面的信息。handle.jsp

该界面采用的是直接匹配字段的额方式接收的参数。property设置的*。如果名字不一致的话,就接收不到任何的信息。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
<jsp:setProperty property="*" name="user" />
<%--访问JavaBean对象(第一种访问的方式) --%>
账号:<jsp:getProperty property="id" name="user"/><br>
用户名:<jsp:getProperty property="name" name="user"/><br>
密码:<jsp:getProperty property="password" name="user"/><br>
</body>
</html>

效果图:

 

1.5handleLogin的静态处理登录

要求可以对login界面的账号和密码的请求的正确性做出一个简单的判断,如果说密码正确的话就会进行返回success界面等待3秒之后会跳转到index界面。如果登录失败的话就会返回一个失败的界面fail界面,并等待3秒就会跳转到login界面。

第一步:重新编写handleLogin界面

增加的功能上是密码正确性的判断。验证成功后转发到success界面,登录失败后转发到fail重定向到fail界面。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>验证界面</title>
</head>
<body>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User" scope="request"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
<jsp:setProperty property="*" name="user" />
 
<% 
//对提交的密码的正确性进行一个简单的判断
if(user.getId().toString().equals("123")&&user.getPassword().toString().equals("123456")){
    //密码正确时的提交
%>
<jsp:setProperty property="name" name="user" value="张三"/>
<%
    request.getRequestDispatcher("success.jsp").forward(request, response);
} else{
    //密码错误时的提交
    response.sendRedirect("fail.jsp");
};
 
%>
</body>
</html>

第二步:创建success界面

使用header属性设置3秒刷新,并设置提交的地址。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>success</title>
</head>
<body>
<jsp:useBean class="pojo.User" id="user" scope="request"/>
<h1>你好:<jsp:getProperty property="name" name="user"/>
,欢迎您的登录!</h1>
<%-- 设置成功登陆的界面每个3秒钟刷新一次 --%>
<% response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

第三步:创建一个简单得首页。index.jsp。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>欢迎来到首页!</h1>
</body>
</html>

第四步:创建一个简单的fail界面。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录失败</title>
</head>
<body>
<%! int i=5; %>
<h1>很遗憾,登录失败,正在返回首页,剩余<%=i-- %>秒</h1>
<% 
//设置页面的刷新状态
if(i<=0){
    i=5;
    response.setHeader("refresh", "1;url=login.html");
}
//等待页面5秒
else
{
    response.setHeader("refresh", "1");
}
 
%>
 
</body>
</html>

1.6连接数据库验证账号密码

连接数据库进行账号和密码正确性的验证,并对用户名进行一个查询。

第一步:导入mysql8.0.12的驱动,并添加至构建路径。

第二步:创建一个数据库连接的工具类。JDBCConnection.java

package util;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
public class JDBCConnection {
 
//     准备工作
       private static final String driverName="com.mysql.cj.jdbc.Driver";
       private static final String url="jdbc:mysql://localhost:3306/vue?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false"; 
       private static final String dbUser="root";
       private static final String dbPswd="root";
        
//     构造函数
       public JDBCConnection(){}
//     静态static块
       static {
           try {
              Class.forName(driverName);
           } catch (ClassNotFoundException e) {
              e.printStackTrace();
           }
       }
        
//     2.创建连接对象
       public static Connection getConnection() throws SQLException {
           return DriverManager.getConnection(url,dbUser,dbPswd);
       }
            
//     5.关闭资源对象
       public static void close(Connection conn,Statement state,ResultSet resu) {
//         关闭结果集
           if(resu!=null) {
              try {
                  resu.close();
              } catch (SQLException e) {
                  e.printStackTrace();
              }
           }
//         关闭Statement对象
           if(state!=null) {
              try {
                  state.close();
              } catch (SQLException e) {
                  e.printStackTrace();
              }
           }
//         关闭连接对象
           if(conn!=null) {
              try {
                  conn.close();
              } catch (SQLException e) {
                  e.printStackTrace();
              }
           }
            
       }     
} 

第三步:编写登录的业务逻辑。

我就先不在JavaBean中写了,我就单独新建一个类,起到的作用和JavaBean+jsp的开发模式是一样的效果。

创建一个dao包,并新建一个UserDao,编写操作数据库表的业务逻辑。

package dao;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import pojo.User;
import util.JDBCConnection;
 
public class UserDao {
//add操作-传入的是User
    public static User getUserById(User user) throws SQLException {
//     创建一个新的User对象
       User myuser=new User();
//     创建连接工具类对象
       JDBCConnection jdbc=new JDBCConnection();
//     1.创建连接的对象
       Connection conn=jdbc.getConnection();
 
//     2.定义sql语句
       String sql ="select * from user where id=? and password=?";
//     2.创建PrepareStatement对象
       PreparedStatement pre=conn.prepareStatement(sql);
//     3.和statement不同的地方出现了
       pre.setString(1, user.getId());
       pre.setString(2, user.getPassword());
 
//     4.提交sql操作
       ResultSet rs=pre.executeQuery();
 
//     5.读取获取的资源
       if(rs.next()) {
           myuser.setId(rs.getString("id"));
           myuser.setName(rs.getString("name"));
           myuser.setPassword(rs.getString("password"));
       }
//     读取不到就返回空值
       else {
           return null;
       }
 
//     5.关闭资源对象
       jdbc.close(conn, pre, null);
//     返回资源对象
       return myuser;
    }
     
 
 
        
} 

第四步:重现编写处理登录的界面,HandleLogin。

第一步需要先导入我们创建的UserDao,我采用的是import导入的方式。

获取完用户的信息后需要,request.setAttribute("user", user) ;重新设置用户的信息并上传。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="pojo.User,dao.UserDao"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>验证界面</title>
</head>
<body>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User" scope="request"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
<jsp:setProperty property="*" name="user" />
 
<% 
//调用getUserById
user=UserDao.getUserById(user);
 
//对提交的密码的正确性进行一个简单的判断
if(user!=null){
    System.out.print(user.toString());
    //重新设置user的信息
    request.setAttribute("user", user) ;
    //密码正确时的提交
    request.getRequestDispatcher("success.jsp").forward(request, response);
}
else{
 
    response.sendRedirect("fail.jsp");
}
;
%>
</body>
</html>

第五步:成功登录的界面。success的重新编写。

对登录成功的用户的个人信息进行一个简单的信息。可以对密码进行隐藏。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="pojo.User"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>success</title>
</head>
<body>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User" scope="request"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
 
 
<h1>你好:</h1>
<h2>账号:<jsp:getProperty property="id" name="user" /> <br>
用户名:<jsp:getProperty property="name" name="user" /> <br>
密码:<jsp:getProperty property="password" name="user" /> <br>
</h2>
<h2>欢迎您的登录!</h2>
<%-- 设置成功登陆的界面每个3秒钟刷新一次 --%>
<% response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

效果图:

 

跳转之后的:

 

1.7首页的编写

1.第一步:先对success进行改进。

将当前的user放入session中去。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="pojo.User"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>success</title>
</head>
<body>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User" scope="request"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
 
 
<h1>你好:</h1>
<h2>账号:<jsp:getProperty property="id" name="user" /> <br>
用户名:<jsp:getProperty property="name" name="user" /> <br>
密码:<jsp:getProperty property="password" name="user" /> <br>
</h2>
<h2>欢迎您的登录!</h2>
<%-- 设置成功登陆的界面每个3秒钟刷新一次 --%>
<% 
//将user设置到session中
session.setAttribute("user", user);
response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

第二步:编写index首页。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*,pojo.*,dao.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
 
 
    <div style="text-align: center;">
    <h1 >学生管理系统</h1>
                  <p style="text-align: center;">当前用户是:<jsp:getProperty property="name" name="user"/>;今天是:<%=new java.util.Date() %></p>
                  <div >用户名:<input type="text" /> <button>查询</button>
                  </div>
                  <div><a href="add.jsp">添加新用户</a></div>
     
                  <div align="center">
                  <table width="500px" border="1"  style="border-collapse: collapse;padding:0px 0px 0px 0px;">    
           <tr>
              <td style="padding:10px;">账号</td>
              <td style="padding:10px;">姓名</td>
              <td style="padding:10px;">密码</td>
              <td style="padding:10px;">修改操作</td>
              <td style="padding:10px;">删除操作</td>
           </tr>
           <%
           List<User> list=UserDao.selectUser();
           //out.print(list.toString());
           for(User u:list){
               
           %>
           <tr  >
              <td style="padding:10px;"><%=u.getId()%></td>
              <td style="padding:10px;"><%=u.getName()%></td>
              <td style="padding:10px;"><%=u.getPassword()%></td>
              <td style="padding:10px;"><a href="update.jsp">修改操作</a></td>
              <td style="padding:10px;"><a href="delete.jsp">删除操作</a></td>
           </tr>
           <%
           }%>
       </table>
       </div>
       <div>版权所有</div>
              </div>
       <jsp:useBean id="user" class="pojo.User" scope="session"/>       
</body>
</html>

第三步:编写add界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="addHandle.jsp" method="get">
<%--用于添加新的用户 --%>
手机号:<input type="text" name="id"><br>
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="提交"><br>
</form>
 
</body>
</html>

第四步:编写UserDao

在UserDao中添加add用户的操作

//添加用户
    public static int addUser(User user) throws SQLException {
 
//     创建连接工具类对象
       JDBCConnection jdbc=new JDBCConnection();
//     1.创建连接的对象
       Connection conn=jdbc.getConnection();
 
//     2.定义sql语句
       String sql ="insert into user(id,name,password) values(?,?,?)";
//     2.创建PrepareStatement对象
       PreparedStatement pre=conn.prepareStatement(sql);
//     3.和statement不同的地方出现了
       pre.setString(1, user.getId());
       pre.setString(2, user.getName());
       pre.setString(3, user.getPassword());
 
//     4.提交sql操作
       int line=0;
       try {
           line=pre.executeUpdate();
       }
       catch(Exception e) {
           line=0;
       }
        
 
//     5.关闭资源对象
       jdbc.close(conn, pre, null);
//     插入成功的话就返回1.失败就返回-1
       return line;
    } 

第五步:编写addHandle,用户处理添加用户的操作。

<%@page import="dao.UserDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="dao.UserDao"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>处理add的界面</title>
</head>
<body>
<%--处理add用户的操作 --%>
 
<jsp:useBean id="adduser" class="pojo.User" scope="session"/>
<jsp:setProperty property="*" name="adduser"/>
<%-- 调用dao层的方法添加用户--%>
<%
int line=UserDao.addUser(adduser);
//根据line判断插入失败还是成功
if(line==1){
    request.getRequestDispatcher("addSuccess.jsp").forward(request, response);
}
else{
    response.sendRedirect("addFail.jsp");
};
%>
</body>
</html>

第六步:创建add成功的界面。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="pojo.User"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>addSuccess</title>
</head>
<body>
 
<h1>你好:</h1>
<h2>账号:<jsp:getProperty property="id" name="user" /> <br>
用户名:<jsp:getProperty property="name" name="user" /> <br>
密码:<jsp:getProperty property="password" name="user" /> <br>
 
</h2>
<h2>欢迎您注册成功!3秒后将会自动登录!</h2>
<%-- 设置成功登陆的界面每个3秒钟刷新一次 --%>
<% 
response.setHeader("refresh", "3;url=index.jsp"); %>
<%--创建JavaBean对象) --%>
<jsp:useBean id="user" class="pojo.User" scope="session"/>
<%--设置JavaBean对象的属性)(第一种设置属性的方式) --%>
<jsp:setProperty property="id" name="user" value="${param.id }"/> <br>
<jsp:setProperty property="name" name="user" value="${param.name }" /> <br>
<jsp:setProperty property="password" name="user" value="${param.password }"/> <br>
 
</body>
</html>

 

注册成功:

 

回到首页:

 

第七步:编写查询所有用户的操作。UserDao

//查询所有的用户
    public static List<User> selectUser() throws SQLException {
 
//     创建连接工具类对象
       JDBCConnection jdbc=new JDBCConnection();
//     1.创建连接的对象
       Connection conn=jdbc.getConnection();
 
//     2.定义sql语句
       String sql ="select * from user";
//     2.创建PrepareStatement对象
       PreparedStatement pre=conn.prepareStatement(sql);
//     3.和statement不同的地方出现了
        
//     4.提交sql操作
       ResultSet rs=null;
       List<User> users=new ArrayList<User>();
       try {
           rs=pre.executeQuery();
           while(rs.next()) {
              User user =new User();
              user.setId(rs.getString("id"));
              user.setName(rs.getString("name"));
              user.setPassword(rs.getString("password"));
//            添加用户
              users.add(user);
           }
       }
       catch(Exception e) {
//         没有的话返回null
           users=null;
       }
        
 
//     5.关闭资源对象
       jdbc.close(conn, pre, null);
//     返回结果的数组
       return users;
    } 


      

第八步:index的运行图

 

1.8修改界面

第一步:创建修改界面update。

假设只能修改账号和密码。

设置隐藏的id是关键.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>更新操作</title>
</head>
<body>
<form action="updateHandle.jsp" method="get">
<%--用于添加新的用户 --%>
<h1>输入要修改的信息</h1>
<input type="hidden" name="id" value="${param.id }" style="display:none;">
用户名:<input type="text" name="name"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="提交"><br>
</form>
 
</body>
</html>

第二步:创建处理更新的界面。updateHandle。

<%@page import="dao.UserDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="dao.UserDao"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>处理update的界面</title>
</head>
<body>
<%--处理add用户的操作 --%>
 
<jsp:useBean id="updateuser" class="pojo.User" scope="session"/>
<jsp:setProperty property="*" name="updateuser"/>
<%-- 调用dao层的方法添加用户--%>
<%
System.out.println(updateuser.toString());
int line=UserDao.updateUser(updateuser);
//根据line判断插入失败还是成功
if(line==1){
    request.getRequestDispatcher("updateSuccess.jsp").forward(request, response);
}
else{
    response.sendRedirect("updateFail.jsp");
};
%>
</body>
</html>

第三步:创建更新的操作。UserDao。

       //更新用户
       public static int updateUser(User user) throws SQLException {
 
//         创建连接工具类对象
           JDBCConnection jdbc=new JDBCConnection();
//         1.创建连接的对象
           Connection conn=jdbc.getConnection();
 
//         2.定义sql语句
           String sql ="iupdate user set name=? ,password=? where id =?";
//         2.创建PrepareStatement对象
           PreparedStatement pre=conn.prepareStatement(sql);
//         3.和statement不同的地方出现了
 
           pre.setString(1, user.getName());
           pre.setString(2, user.getPassword());
           pre.setString(3, user.getId());
//         4.提交sql操作
           int line=0;
           try {
              line=pre.executeUpdate();
           }
           catch(Exception e) {
              line=0;
           }
            
 
//         5.关闭资源对象
           jdbc.close(conn, pre, null);
//         插入成功的话就返回1.失败就返回-1
           return line;
       }

第三步:更新成功的界面.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>更新成功</title>
</head>
<body>
<h1>恭喜您!更新成功!3秒后返回首页</h1>
<% response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

第四步:更新失败的界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>更新失败</title>
</head>
<body>
<h1>更新失败!3s后返回首页</h1>
<% response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

1.9根据s用户名的模糊查询

第一步:编写dao中的模糊查询操作。

  

  //姓名的模糊查询
       public static List<User> selectUserByName(String name) throws SQLException {
 
//         创建连接工具类对象
           JDBCConnection jdbc=new JDBCConnection();
//         1.创建连接的对象
           Connection conn=jdbc.getConnection();
 
//         2.定义sql语句
           String sql ="select * from user where name like concat('%',?,'%')";
//         2.创建PrepareStatement对象
           PreparedStatement pre=conn.prepareStatement(sql);
//         3.和statement不同的地方出现了
           pre.setString(1, name);
//         4.提交sql操作
           ResultSet rs=null;
           List<User> users=new ArrayList<User>();
           try {
              rs=pre.executeQuery();
              while(rs.next()) {
                  User user =new User();
                  user.setId(rs.getString("id"));
                  user.setName(rs.getString("name"));
                  user.setPassword(rs.getString("password"));
//                添加用户
                  users.add(user);
              }
           }
           catch(Exception e) {
//            没有的话返回null
              users=null;
           }
            
 
//         5.关闭资源对象
           jdbc.close(conn, pre, null);
//         返回结果的数组
           return users;
       }

第二步:对index页面的修改。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*,pojo.*,dao.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
 
 
    <div style="text-align: center;">
    <h1 >学生管理系统</h1>
                  <p style="text-align: center;">当前用户是:<jsp:getProperty property="name" name="user"/>;今天是:<%=new java.util.Date() %></p>
                  <div ><form action="selectUserByName.jsp" method="post">用户名:<input type="text" name="name" /> <input type="submit" value="提交"></form>
                  </div>
                  <div><a href="add.jsp">添加新用户</a></div>
     
                  <div align="center">
                  <table width="500px" border="1"  style="border-collapse: collapse;padding:0px 0px 0px 0px;">    
           <tr>
              <td style="padding:10px;">账号</td>
              <td style="padding:10px;">姓名</td>
              <td style="padding:10px;">密码</td>
              <td style="padding:10px;">修改操作</td>
              <td style="padding:10px;">删除操作</td>
           </tr>
           <%
           List<User> list=new ArrayList<User>();
           if(session.getAttribute("list")!=null){
               
              list=(List<User>)session.getAttribute("list");
           }
           else{
           list=UserDao.selectUser();
               
           }
            
           //out.print(list.toString());
           for(User u:list){
               
           %>
           <tr  >
              <td style="padding:10px;"><%=u.getId()%></td>
              <td style="padding:10px;"><%=u.getName()%></td>
              <td style="padding:10px;"><%=u.getPassword()%></td>
              <td style="padding:10px;"><a href="update.jsp">修改操作</a></td>
              <td style="padding:10px;"><a href="delete.jsp">删除操作</a></td>
           </tr>
           <%
           }%>
       </table>
       </div>
       <div>版权所有</div>
              </div>
       <jsp:useBean id="user" class="pojo.User" scope="session"/>       
</body>
</html>

第三步:对模糊查询界面的修改。selectUserByName。

采用的是response.setHeader("refresh", "0;url=index.jsp");的跳转方式,没使用请求转发的形式。

需要对当前页面的编码进行一个简单的设置。request.setCharacterEncoding("utf-8");。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*,pojo.*,dao.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<%--根据姓名的模糊查询 --%>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
System.out.println(name);
List<User> users=new ArrayList<User>();
if(name.equals("")||name==null){
    users=UserDao.selectUser();
     
}
else{
     
     users=UserDao.selectUserByName(name);
     
     
}
//设置返回的结果
session.setAttribute("list", users);
response.setHeader("refresh", "0;url=index.jsp");
//request.getRequestDispatcher("index.jsp").forward(request, response);
%>
</body>
</html>

运行截图:查询所有性张的用户。

 

1.10删除界面

第一步:修改index.html

只需要修改这一个简单的地方就可以.

        

      <td style="padding:10px;"><a href="deleteHandle.jsp?id=<%=u.getId()%>">删除操作</a></td>

第二步:创建deleteHandle界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.*,pojo.*,dao.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>处理删除界面</title>
</head>
<body>
 
<%
String id=request.getParameter("id");
//out.print(id);
//调用删除的操作
int line=UserDao.deleteUser(id);
//out.print(line);
//对提交的密码的正确性进行一个简单的判断
if(line==1){
    //密码正确时的提交
    request.getRequestDispatcher("deletesuccess.jsp").forward(request, response);
}
else{
    response.sendRedirect("deleteFail.jsp");
}
;
%>
</body>
</html>

第三步:创建处理删除的操作.UserDao

  

     //删除用户
              public static int deleteUser(String id) throws SQLException {
 
//                创建连接工具类对象
                  JDBCConnection jdbc=new JDBCConnection();
//                1.创建连接的对象
                  Connection conn=jdbc.getConnection();
 
//                2.定义sql语句
                  String sql ="delete from user where id =?";
//                2.创建PrepareStatement对象
                  PreparedStatement pre=conn.prepareStatement(sql);
//                3.和statement不同的地方出现了
 
               
                  pre.setString(1, id);
//                4.提交sql操作
                  int line=0;
                  try {
                     line=pre.executeUpdate();
                  }
                  catch(Exception e) {
                     line=0;
                  }
                   
 
//                5.关闭资源对象
                  jdbc.close(conn, pre, null);
//                插入成功的话就返回1.失败就返回-1
                  return line;
              }

第四步:创建删除失败的界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>删除失败</title>
</head>
<body>
<h1>删除失败!3s后返回首页</h1>
<% response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

第五步:创建删除成功的界面.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>删除成功</title>
</head>
<body>
<h1>恭喜您!删除成功!3秒后返回首页</h1>
<% response.setHeader("refresh", "3;url=index.jsp"); %>
</body>
</html>

1.11效果图

 

不足的地方,我会及时的跟进。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
创建一个Java Web项目,您需要遵循以下步骤: 1. 安装Java和Maven Java是编写Java Web应用程序所必需的语言环境,而Maven是管理Java项目所必需的构建工具。如果您还没有安装Java或Maven,请先安装它们。 2. 创建Maven项目 使用以下命令创建Maven项目: ``` mvn archetype:generate -DgroupId=com.example -DartifactId=my-web-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false ``` 这将创建一个名为`my-web-app`的Maven项目,其中包含一个基本的Web应用程序模板。 3. 配置Web应用程序 在`src/main/webapp`目录下创建一个名为`WEB-INF`的文件夹,并在其中创建一个名为`web.xml`的文件。此文件是Web应用程序的配置文件,它定义了Servlet和JSP文件的映射。 4. 编写Servlet和JSP文件 在`src/main/java`目录下创建Servlet文件,这些文件将处理Web应用程序的请求和响应。在`src/main/webapp`目录下创建JSP文件,这些文件将生成动态内容。 5. 编译和打包项目 使用以下命令编译和打包项目: ``` mvn clean package ``` 这将生成一个名为`my-web-app.war`的WAR文件,可以部署到Java Web服务器上。 6. 部署Web应用程序 将WAR文件复制到Java Web服务器的`webapps`目录中,并启动服务器。您的Web应用程序现在应该可以在服务器上访问了。 以上就是创建一个Java Web项目的基本步骤。当然,具体的操作还需要根据您的实际项目需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简单点了

谢谢大佬

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值