Home  >  Article  >  Web Front-end  >  MVC realizes login, data display of addition, deletion, modification and query: EL expression of JSP

MVC realizes login, data display of addition, deletion, modification and query: EL expression of JSP

高洛峰
高洛峰Original
2016-11-05 13:58:301431browse

The data display here uses the EL expression of jsp, the background is put into the session, and the front-end EL is obtained.

The database design is like this, one teacher corresponds to multiple students, and the foreign key tid is established in the student table student and the teacher table teacher tid corresponds. Now after the teacher successfully logs in, the student information under the teacher can be displayed

Write from back to front;

1 Create the entity class student.java of the table corresponding to the database

public class Student {
        private int sid;
        private  String  sname;
        private  String sage;
        public int getSid() {
            return sid;
        }
        public void setSid(int sid) {
            this.sid = sid;
        }
        public String getSname() {
            return sname;
        }
        public void setSname(String sname) {
            this.sname = sname;
        }
        public String getSage() {
            return sage;
        }
        public void setSage(String sage) {
            this.sage = sage;
        }
        public Student() {
            super();
        }
        public Student(int sid, String sname, String sage) {
            super();
            this.sid = sid;
            this.sname = sname;
            this.sage = sage;
        }
        
}

2 StudentDao.java

public interface StudentDao {

    /**
     * 
     * @param tid
     * @return 学生对象
     * 根据老师id返回学生对象
     */
    public  List<Student> getStudentBytid(int tid);
}

3 StudentDaoImpl.java

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 JDBCUtil.JDBCUtil;
import com.zr.dao.StudentDao;
import com.zr.model.Student;
public class StudentDaoImpl  implements StudentDao{
    /**
     * 根据传入的老师id获取学生
     */
    public List<Student> getStudentBytid(int tid) {
        //定义学生对象集合students接收数据库返回
        List<Student>  students =  new ArrayList<Student>();
        //获取数据库连接
        Connection con=JDBCUtil.getConnection();
        //编写SQL语句
        StringBuffer sql=new StringBuffer("select * from student where tid=?");
        try {
            PreparedStatement pst=con.prepareStatement(sql.toString());
            pst.setInt(1, tid);
            //返回一个结果集
            ResultSet rs=pst.executeQuery();
            while (rs.next()) {
                //学生对象接收结果集的结果
                Student s=new Student();
                s.setSid(rs.getInt("sid"));
                s.setSname(rs.getString("sname"));
                s.setSage(rs.getString("sage"));
                students.add(s);
            }
        } catch (SQLException e) {
            e.printStackTrace();    
        }
        return students;
    }

4 searchService.java

import java.util.List;
import com.zr.model.Student;
public interface searchService {
    /**
     * 查询服务
     * @param tid 通过老师ID
     * @return 学生对象所有信息
     */
public List<Student> getStudents(int  tid);
}

5 searchServiceImpl.java

import java.util.ArrayList;
import java.util.List;
import com.zr.dao.StudentDao;
import com.zr.daoIm.StudentDaoImpl;
import com.zr.model.Student;
import com.zr.service.searchService;
public class searchServiceImpl implements searchService{

    public List<Student> getStudents(int tid) {
        
        List<Student> students=new ArrayList<Student>();
        StudentDao studentDaoImpl =new StudentDaoImpl();
        students=    studentDaoImpl.getStudentBytid(tid);    
        return students;
    }

6 SearchController.java

import java.io.IOException;
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 javax.servlet.http.HttpSession;
import com.zr.model.Student;
import com.zr.model.Teacher;
import com.zr.service.searchService;
import com.zr.serviceIm.searchServiceImpl;
public class SearchController extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        
        List<Student> students=new  ArrayList<Student>();
        searchService sc=new searchServiceImpl();
        //获取存放在session中的teacher对象
        Teacher teacher=(Teacher) req.getSession().getAttribute("teacher");
        //获取老师ID
        int  td=   teacher.getTid();
        //根据老师id获取学生对象 
        students= sc.getStudents(td);
        
        //将students对象放入session中,前台用EL表达式获取值
        HttpSession session= req.getSession();
        session.setAttribute("students", students);
        req.getRequestDispatcher("main.jsp").forward(req, resp);
    }
    }

7 Configure web.xml file

Note: name should come first

<!-- 查询当前下面的学生信息 -->
          <servlet>
              <servlet-name>selectStus</servlet-name>
              <servlet-class>com.zr.controller.SearchController</servlet-class>
          </servlet>
          <servlet-mapping>
                  <servlet-name>selectStus</servlet-name>
                  <url-pattern>/selectStus</url-pattern>
          </servlet-mapping>

8 mian.jsp Front page

<body>
    <form action="selectStus">
        <input type="submit" value="查询">
    </form>
    <!-- 展示学生对象信息 -->
    <table class="table table-bordered" style="margin-top: 50px">
        <tr>
            <td>学生编号</td>
            <td>学生名</td>
            <td>学生年龄</td>
        </tr>
        <!-- 利用EL表达式 -->
        <c:forEach items="${students}" var="student" varStatus="studentIndex">
            <tr>
                <td>${student.sid}</td>
                <td>${student.sname}</td>
                <td>${student.sage}</td>
            </tr>
        </c:forEach>
    </table>
</body>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn