Javaee第二次作业

教师:
1.添加作业
首先构建按照数据库设计的表构建作业实体
在这里插入图片描述
Homework.java

package com.java.code.class12.model;

import java.util.Date;

public class Homework {
    private long id;

    private String title;

    private String content;

    private Date createTime;

    private Date updateTime;

    public long getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }

    public String getContent() {
        return content;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setId(long id) {
        this.id = id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

AddHomeworkServlet.java为添加作业的servlet

package com.java.code.class12.servlet;

import jdbc.StudentHomeworkJdbc;
import model.Homework;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

//使用注解形式与jsp通信
@WebServlet("/AddHomeworkServlet")
public class AddHomeworkServlet extends HttpServlet {

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    Homework homework = new Homework();
    //使用getParameter函数来获取jsp中的表单内容,其中title和content需要和jsp中name相同
    homework.setTitle(req.getParameter("title"));
    homework.setContent(req.getParameter("content"));

    StudentHomeworkJdbc.addHomework(homework);
  }
}

同时在StudentHomeworkJdbc.java中构造相应的添加作业函数

public static void addHomework(Homework sh){

  String url = "jdbc:mysql://127.0.0.1:3306/school";

  String allUrl = url + "?user=root&password=123456";

  String driverName = "com.mysql.jdbc.Driver";

  String sqlString = "insert into s_student(title,content)values(?,?)";
  //使用PreparedStatement方法执行sql语句
  PreparedStatement pstmt;
  try {
    // 加载驱动
    Class.forName(driverName);

  } catch (ClassNotFoundException e) {
    e.printStackTrace();
  }

  try(Connection connection =  DriverManager.getConnection(allUrl)) {
    try(Statement statement = connection.createStatement()){
      pstmt = connection.prepareStatement(sqlString);
      //此处index值为sql语句中变量的顺序
      pstmt.setString(1,sh.getTitle());
      pstmt.setString(2,sh.getContent());
      pstmt.execute();
    }

  } catch (SQLException e) {
    e.printStackTrace();
  }

}

2.查询作业
查询作业就是将各个作业的信息罗列出来
根据数据库表的设计构建学生作业的实体类
在这里插入图片描述
StudentHomework.java

package com.java.code.class12.model;

import java.util.Date;

/**
 * StudentHomework
 *
 * @author wangkm
 * @date 2020-03-05
 * @since 0.0.1
 */
public class StudentHomework {

    private Long id;

    private Long studentId;

    private Long homeworkId;

    private String homeworkTitle;

    private String homeworkContent;

    private Date createTime;

    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public Long getHomeworkId() {
        return homeworkId;
    }

    public void setHomeworkId(Long homeworkId) {
        this.homeworkId = homeworkId;
    }

    public String getHomeworkTitle() {
        return homeworkTitle;
    }

    public void setHomeworkTitle(String homeworkTitle) {
        this.homeworkTitle = homeworkTitle;
    }

    public String getHomeworkContent() {
        return homeworkContent;
    }

    public void setHomeworkContent(String homeworkContent) {
        this.homeworkContent = homeworkContent;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

StudentHomeworkServlet.java

package com.java.code.class12.servlet;

import com.java.code.class12.jdbc.StudentHomeworkJdbc;
import com.java.code.class12.model.StudentHomework;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * StudentHomeworkServlet
 *
 * @author wangkm
 * @date 2020-03-05
 * @since 0.0.1
 */
@WebServlet("/list")
public class StudentHomeworkServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<StudentHomework> list = StudentHomeworkJdbc.selectAll();


        req.setAttribute("list", list);

        req.getRequestDispatcher("index.jsp").forward(req, resp);
    }
}

StudentHomeworkJdbc.java中的selectAll()函数用来进行从数据库抽取全部student_homework数据

public static List<StudentHomework> selectAll(){

        String url = "jdbc:mysql://127.0.0.1:3306/school";

        String allUrl = url + "?serverTimezone=UTC&user=root&password=123456";

        String driverName = "com.mysql.cj.jdbc.Driver";

        String sqlString = "SELECT * FROM s_student_homework";

        try {
            // 加载驱动
            Class.forName(driverName);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        List<StudentHomework> list = new ArrayList<>();
        try(Connection connection =  DriverManager.getConnection(allUrl)) {
            try(Statement statement = connection.createStatement()){
                try(ResultSet resultSet = statement.executeQuery(sqlString)){
                    // 获取执行结果
                    while (resultSet.next()){
                        StudentHomework sh = new StudentHomework();
                        sh.setId(resultSet.getLong("id"));
                        sh.setStudentId(resultSet.getLong("student_id"));
                        sh.setHomeworkId(resultSet.getLong("homework_id"));
                        sh.setHomeworkTitle(resultSet.getString("homework_title"));
                        sh.setHomeworkContent(resultSet.getString("homework_content"));
                        sh.setCreateTime(resultSet.getTimestamp("create_time"));
                        list.add(sh);
                    }
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return list;
    }

3.添加学生
构建实体类Student.java
在这里插入图片描述
Student.java

package com.java.code.class12.model;

import java.util.Date;

public class Student {
  private long id;

  private String name;

  private Date createTime;

  private Date updateTime;

  public long getId() {
    return id;
  }

  public String getName() {
    return name;
  }

  public Date getCreateTime() {
    return createTime;
  }

  public Date getUpdateTime() {
    return updateTime;
  }

  public void setId(long id) {
    this.id = id;
  }

  public void setName(String name) {
    this.name = name;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }
}

AddStudentServlet.java

package com.java.code.class12.servlet;

import jdbc.StudentHomeworkJdbc;
import model.Homework;
import model.Student;
import model.StudentHomework;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;


@WebServlet("/AddStudentServlet")
public class AddStudentServlet extends HttpServlet {

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    Student s = new Student();

    s.setName(req.getParameter("studentName"));

    StudentHomeworkJdbc.addStudent(s);
  }
}

学生:提交作业
AddStudentHomeworkServlet.java

package com.java.code.class12.servlet;

import com.java.code.class12.jdbc.StudentHomeworkJdbc;
import com.java.code.class12.model.Homework;
import com.java.code.class12.model.StudentHomework;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

/**
 * AddStudentHomeworkServlet
 *
 * @author wangkm
 * @date 2020-03-05
 * @since 0.0.1
 */
@WebServlet("/AddHomeworkServlet")
public class AddStudentHomeworkServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Homework homework = new Homework();
        //使用getParameter函数来获取jsp中的表单内容,其中title和content需要和jsp中name相同
        homework.setTitle(req.getParameter("title"));
        homework.setContent(req.getParameter("content"));

        StudentHomeworkJdbc.addHomework(homework);
    }
}

发布了2 篇原创文章 · 获赞 0 · 访问量 126

猜你喜欢

转载自blog.csdn.net/weixin_43528665/article/details/104823173
今日推荐