0529JavaBean和MVC模型

一、 JavaBean
是一种软件组件,也就是Java的实体类,不是所有的类都是JavaBean 。

JavaBean 的特点:1、执行Java.io.Serializable接口 2、提供无参的构造器
3、提供get和set方法访问它的属性
JavaBean 的优点:1、可重用组件 2、实现跨平台 3、可在多个应用程序中使用
二、Java Web开发模式
1、模式一(JSP+JavaBean)简便、灵活、在小规模、业务逻辑简单的项目开发中效率高。
2、 模式二(JSP+Servlet+JavaBean)程序层次清晰、分工明确、可维护性、扩展性高
三、MVC(Model-View-Controller)模型-视图-控制器
采用MVC模式的目的,就是为了增加代码的重用率,减少数据表达、数据描述和提高应用操作的偶合度。同时也使得软件的可维护性、可修复性、可扩展性、灵活性以及封装性大大提高。
这里写图片描述
模型:指程序中的数据以及处理数据的业务规则,不关心数据以及处理结果如何展示给用户或是用户界面的显示细节。
视图(JSP):负责处理用户界面的显示细节,以及如何向用户展示业务处理的结果。
控制器(由一个或多个Servlet充当):负责协调视图与模型,在两者之间处于桥梁和纽带的位置。
//request中的setCharacterEncoding方法作用是用指定的编码集去覆盖request对象中的默认的”ISO-8859-1”编码集
request.setCharacterEncoding(“utf-8”);
//request.getParameter用来获取页面输入框输入的数据,里面写的就是表单对应的name对应的值
String use=request.getParameter(“use”);
String paw=request.getParameter(“paw”);
/*byte[] bt=empId.getBytes(“iso-8859-1”);针对get提交处理中文乱码
empId=new String(bt, “utf-8”);*/
if(“abcd”.equals(use) && “123456”.equals(paw)){
//response.sendRedirect(url)—–重定向到指定URL
response.sendRedirect(“Manage.jsp”);
}
else{
response.sendRedirect(“StoreLand.jsp”);
}
}
Mvc操作页面控制
绝对路径:指目录盘下的绝对位置,直接到达目标位置。就是由盘符开始找的
例:C:\windows\xxx.txt
相对路径:是软件或者网页编程的概念,是指程序与其他文件的相对路径。
例:程序和一个TXT在有个文件夹,程序里就不需要写盘符,直接写TXT文件的名称
如果TXT文件在程序的上一级目录,就用../xxx.txt
登陆页面 StoreLand.jsp:



注:将登陆页面虚拟到emp文件下,在emp文件下找其他页面
在表单中加?status=index,那么就找对应的操作在控制程序中
JAVA控制程序EmpServlet.java
@WebServlet(“/emp/EmpServlet”)
public class EmpServlet extends HttpServlet {
protected void doPost…. {
request.setCharacterEncoding(“utf-8”);
String status=request.getParameter(“status”);
if(“index”.equals(status)){
String sempId=request.getParameter(“empId”);
int empId=0;
if(sempId!=null&&!”“.equals(sempId)){
empId=Integer.parseInt(sempId);
}
String empPwd=request.getParameter(“empPwd”);
//创建服务层对象,在服务层里面调用函数login,这个函数和数据库连接在数据库中看有没有这个账号和密码
//数据库和对象连接已经在dao层完成
EmployeeService empService=new EmployeeServiceImpl();
boolean flag=empService.login(empId, empPwd);
if(flag){
response.sendRedirect(“../index.html”);
}else{
response.sendRedirect(“../StoreLand.jsp”);
}
因为已经虚拟到emp文件下而这两个地址不在这个文件中加../返回到上一级目录查找
}else if(“add”.equals(status)){//添加员工信息
//得到对应的值
String sempId=request.getParameter(“empId”);
int empId=0;
if(sempId!=null&&!”“.equals(sempId)){
empId=Integer.parseInt(sempId);
} 要注意对应的数据类型
String empName=request.getParameter(“empName”);
String empPwd=request.getParameter(“empPwd”);
String empSex=request.getParameter(“empSex”);
、、、、、、、
//封装为对象
Employee emp=new Employee(0, empName, empPwd, empSex, empAge, empAdder, empTel, empSalary, deptId);
EmployeeService empService=new EmployeeServiceImpl();
boolean flag=empService.addEmp(emp);
if(flag){
response.sendRedirect(“EmpServlet?status=queryAll”);
}else{
response.sendRedirect(“addEmp.jsp”);
}
}else if(“queryAll”.equals(status)){
EmployeeService empService=new EmployeeServiceImpl();
List list=empService.seekAll();
request.setAttribute(“list”, list);
request.getRequestDispatcher(“emp.jsp”).forward(request, response); }
添加员工信息addEmp.jsp

Name里面的名称和数据库里以及后边控制程序里面的必须一致
员工名称:
部门: 工程部、、、、

查询所有员工信息emp.jsp
<%
List list=(List)request.getAttribute(“list”);
%> 得到查出的数据

设置查出表格的标题
员工编号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值