一.JSP的运行原理
1.JSP处理请求的过程
package dao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import entity.Emp;
public class EmpDao implements Serializable {
public List findAll(){
//模拟查询所有的员工
List list = new ArrayList();
Emp e1 = new Emp();
e1.setEmpno(1);
e1.setEname("唐僧");
e1.setJob("领导");
e1.setSal(9000.0);
list.add(e1);
Emp e2 = new Emp();
e2.setEmpno(2);
e2.setEname("悟空");
e2.setJob("职员");
e2.setSal(5000.0);
list.add(e2);
Emp e3= new Emp();
e3.setEmpno(3);
e3.setEname("八戒");
e3.setJob("职员");
e3.setSal(6000.0);
list.add(e3);
return list;
}
public void save(Emp e){
System.out.println("增加员工:"+e.getEname());
}
}
package entity;
import java.io.Serializable;
public class Emp implements Serializable {
private Integer empno;
private String ename;
private String job;
private Double sal;
public Integer getEmpno() {
return empno;
}
public Double getSal() {
return sal;
}
public void setSal(Double sal) {
this.sal = sal;
}
public void setEmpno(Integer empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
}
查询员工
table,td {
border:1px solid red;
}
table {
border-collapse:collapse;
}
编号
姓名
职位
薪资
二.开发模式
1.Model1
2.Model2
package web;
import java.io.IOException;
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.EmpDao;
import entity.Emp;
public class FindEmpServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
//查询所有的员工
EmpDao dao = new EmpDao();
List list = dao.findAll();
//将数据绑定导request上
req.setAttribute("emps", list);
//将请求转发给emp_list.jsp
//当前:/jsp2/findEmp
//目标:/jsp2/emp_list.jsp
req.getRequestDispatcher("emp_list.jsp").forward(req, res);
}
}
查询员工
table,td {
border:1px solid red;
}
table {
border-collapse:collapse;
}
编号
姓名
职位
薪资
jsp2
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
findEmp
web.FindEmpServlet
findEmp
/findEmp
JSP1
package entity;
import java.io.Serializable;
public class Course implements Serializable {
//对象的属性
private Integer courseId;
private String name;
private Integer days;
//Bean属性:
//1.去掉get/set剩下的单词,首字母小写
//2.通过get/set方法所分析出来的属性
public Integer getId() {
return courseId;
}
public void setId(Integer courseId) {
this.courseId = courseId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getDays() {
return days;
}
public void setDays(Integer days) {
this.days = days;
}
}
package entity;
import java.io.Serializable;
public class Student implements Serializable {
private String name;
private Integer age;
private String sex;
private String[] interests;
private Course course;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String[] getInterests() {
return interests;
}
public void setInterests(String[] interests) {
this.interests = interests;
}
public Course getCourse() {
return course;
}
public void setCourse(Course course) {
this.course = course;
}
}
package web;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.Course;
import entity.Student;
public class FindStudentServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
//模拟查询学生
Student s = new Student();
s.setName("zhangsan");
s.setAge(25);
s.setSex("M");
s.setInterests(new String[]{"篮球","足球","排球"});
Course c = new Course();
c.setId(1);
c.setName("Java");
c.setDays(85);
s.setCourse(c);
//将数据绑定到request上
req.setAttribute("stu", s);
//将请求转发给student.jsp
req.getRequestDispatcher("student.jsp").forward(req, res);
}
}
jsp3
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
findStudent
web.FindStudentServlet
findStudent
/findStudent
查询学生
性别:
男
女
性别:
男
女
${i}
姓名:${stu.name}
年龄:${stu['age']}
课程:${stu.course.id}
性别:${requestScope.stu.sex}
年龄+3"${stu.age+3}
介于20-30间:${stu.age>20 && stu.age
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?