java bean 监听_9.JavaBean、MVC、Filter、监听器、过滤器、JDBC

9. JavaBean

实体类

JavaBean有特定的写法:

必须要有一个无参构造

属性必须私有化

必须有对应的get/set方法

一般用来和数据库的字段做映射 ORM

ORM:对象关系映射

表对应类

字段对应属性

行记录对应对象

10.MVC三层架构

MVC:Model、view、Controller 模型视图控制器

ce0bb202b7ea18d4a38e1f0d74ee920f.png

Model

业务处理:业务逻辑(Service)

数据持久层:CRUD(Dao)

View

展示数据

提供连接发起Servlet请求

Controller

接收用户的请求

交给业务层处理对应的代码

控制视图的跳转

11.Filter

过滤器,用来过滤网站的数据

处理中文乱码

登录验证

c85574ca9f486d579deb9bd29e1accfd.png

Filter开发步骤

导包

编写过滤器

要实现Filter接口,要注意Filter的包是 javax.servlet.*下面的包

public class CharacterEncodingFilter implements Filter {

//初始化是在服务器启动的时候

public void init(FilterConfig filterConfig) throws ServletException {

System.out.println("初始化");

}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

servletRequest.setCharacterEncoding("utf-8");

servletResponse.setCharacterEncoding("utf-8");

servletResponse.setContentType("text/html;charset=UTF-8");

System.out.println("过滤执行前");

//下面的代码如果不写的话,程序会在此被拦截停止

filterChain.doFilter(servletRequest,servletResponse);

System.out.println("过滤执行后");

}

//销毁是在服务器关闭的时候

public void destroy() {

System.out.println("销毁");

}

}

配置xml

CharacterEncodingFilter

com.lzp.filter.CharacterEncodingFilter

CharacterEncodingFilter

/servlet/*

12.监听器

实现一个监听器的接口;

编写一个监听器,实现监听器的接口

xml中配置监听器

13.过滤器、监听器常见应用

监听器常用于GUI

过滤器:

登陆

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

String username = req.getParameter("username");

if(username.equals("admin")){

req.getSession().setAttribute("USER_SESSION",req.getSession().getId());

//因为使用了Maven模板,导致进不去该jsp。

resp.sendRedirect("/sys/success.jsp");

}else{

resp.sendRedirect("/error.jsp");

}

}

注销

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

Object user_session = req.getSession().getAttribute("USER_SESSION");

if(user_session!=null){

req.getSession().removeAttribute("USER_SESSION");

resp.sendRedirect("/login.jsp");

}else{

resp.sendRedirect("/login.jsp");

}

}

过滤器

public void init(FilterConfig filterConfig) throws ServletException {

}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

HttpServletRequest request = (HttpServletRequest)servletRequest;

HttpServletResponse response = (HttpServletResponse) servletResponse;

if(request.getSession().getAttribute("USER_SESSION")==null){

response.sendRedirect("/error.jsp");

}

filterChain.doFilter(request,response);

}

public void destroy() {

}

}

14.JDBC

7910eb3b11d044a122888bf009d4896d.png

需要jar包的支持

java.sqp

javax.sql

mysql-connector-java

Maven需要的依赖

mysql

mysql-connector-java

5.1.47

Junit单元测试

依赖

junit

junit

4.12

@Test 注解在方法时,可以直接运行,不需要main方法

import org.junit.Test;

public class Test1 {

@Test

public void test(){

System.out.println("Hello");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值