JavaWeb -JavaBean MVC Filter 监听器 过滤器
JavaBean
MVC 三层架构
Filter(重点)
监听器
过滤器,监听器的常见应用
JavaBean 实体类
JavaBean 有特定的写法:
必须要有一个无参构造属性必须私有化必须有对应的 get/set 方法一般来说和数据库的字段做映射 ORM
ORM:对象关系映射
表--->类字段--->属性行记录--->对象 id
name
age
address
1
饼干 1 号
11
河南
2
饼干 2 号
12
河南
3
饼干 3 号
13
河南
class People{private int id;private String name;private int age;private String address;}class A{new People(1,"饼干 1 号",11,"河南");new People(2,"饼干 2 号",12,"河南");new People(3,"饼干 3 号",13,"河南");}MVC 三层架构什么是 MVC:model view controller 模型 视图 控制器
之前
Servlet--CRUD-->数据库
弊端:程序十分臃肿,不利于维护
Servlet 的代码中:处理请求,响应,视图跳转,处理 JDBC,处理业务代码,处理逻辑代码
架构:没有什么是加一层解决不了的
MVC 三层架构
登录--->接收用户的登录请求--->处理用户的请求(获取用户登录的参数,username,password)--->交给业务层处理登录业务(判断用户名密码是否正确:事务)--->Dao 层查询用户名和密码是否正确--->数据库
Filter(重点)Filter:过滤器,用来过滤网站的数据
处理中文乱码登录验证
1.导包
2.编写过滤器
3.在 web.xml 中配置 Filter
<filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>com.he.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/servlet/*</url-pattern></filter-mapping>监听器实现一个监听器的接口;(有 N 种)
1.编写一个监听器
实现一个监听器接口
//统计网站在线人数:统计 sessionpublic class OnlineCounterListener implements HttpSessionListener{//创建 Session 监听:看你的一举一动//一旦创建 Session 就会触发一次这个事件 public void sessionCreated(HttpSessionEvent se){ServletContext ctx = se.getSession().getServletContext();Integer onlineCount = (Integer) ctx.getAttribute(""onlineCount);if(onlineCount == null){onlineCount = new Integer(1);}else{int count = onlineCount.intValue();onlineCount = new Integer(count+1);}ctx.setAttribute("OnlineCount",onlineCount);}
//销毁 Session 监听//一旦销毁 Session 就会触发一次这个事件 public void sessionDestroyed(HttpSessionEvent se){ServletContext ctx = se.getSession().getServletContext();Integer onlineCount = (Integer) ctx.getAttribute(""onlineCount);if(onlineCount == null){onlineCount = new Integer();}else{int count = onlineCount.intValue(1);onlineCount = new Integer(count-1);}ctx.setAttribute("OnlineCount",onlineCount);}}
/*session 销毁 1.手动销毁 getSession().invalidate();2.手动销毁*/
过滤器,监听器的常见应用监听器:GUI 编程中经常使用
GUI:图形界面编程
package com.he.listener;import java.awt.*;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;
public class TestPanel {public static void main(String[] args) {Frame frame = new Frame("中秋节快乐");//新建一个窗体 Panel panel = new Panel(null);//面板 frame.setLayout(null);//设置窗口的布局 frame.setBounds(300,300,500,500);frame.setBackground(new Color(0,0,255));//设置背景颜色
}
用户登录之后才能进入主页,用户注销后就不能进入主页了
1.用户登录之后,向 Session 中放入用户的数据
2.进入主页的时候要判断用户是否以及登录,要求:在过滤器中实现
HttpServletRequest request = (HttpServletRequest)req;HttpServletResponse reponse = (HttpServletResponse)resp;
if(request.getSession().getAttribute(Constant.USER_SESSION)==null){response.sendRedirect("/error.jsp");}
chain.doFilter(request,reponse);
版权声明: 本文为 InfoQ 作者【喜羊羊】的原创文章。
原文链接:【http://xie.infoq.cn/article/1570ff32321c6d73a29c65dcb】。文章转载请联系作者。
评论