博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP与JavaBeans
阅读量:6623 次
发布时间:2019-06-25

本文共 3344 字,大约阅读时间需要 11 分钟。

  JavaBeans简介

  JavaBeans是一种符合一定标准的普通java类,需要满足下面几点:

  1 类是public

  2 属性私有

  3 空的public构造方法

  4 通过getter setter操作属性

  JSP有很多的标签,比较常用的就是与javaBean相关的标签:

  <jsp:useBean>设置javaBean

  <jsp:setProperty> 设置javabean中属性值

  <jsp:getProperty> 获取javaBean属性值

  设置javaBean 要满足下面的语法:

  其中id是该类的标识,相当于我们创建的对象名称;

  class是类的全名,包括类的包名;

  scope是该javabean的使用范围,包括下面四中:

  page:仅应用于当前页面

  request:可以在reqest之间使用,比如通过转发连带传送request对象,也可以得到该属性。

  session:可以再一个会话期间使用

  application:在整个服务器启动期间都可以使用

  设置属性值 可以使用下面四种方式:

手工设置

  样例如下:

用户名:<%=user.getUsername() %>
密码:<%=user.getPassword() %>
用户名:
密码:

  其中使用URL参数传送参数的时候,需要再前面的url后面,添加参数,例如:

  JSP与javaBeans

  有了JSP为什么要使用javaBeans呢?

  因为JSP是一种java代码与html混合的语言,这样机会导致页面的表现层与行为层混合在一起,不利于后期的维护和调试。

  所以最开始的时候,JSP开发就是使用一大堆的JSP页面,互相跳转,很混乱,于是就有了一种新的解决方法:

  Model1:模型1,它的架构如下:

  可以看到用户是对JSP进行访问,但是JSP通过调用Javabean间接与数据库交互,分离页面表与逻辑层。

  这样就能达到一种解耦的效果。

  使用Model1模型,开发登录界面

  业务场景跟前面一样,用户登录login.jsp,成功后跳转到login_success.jsp,并提示登录用户名;失败后,跳转到login_failure.jsp页面,并提示登录跳转到登录界面。

  只不过在跳转逻辑处理界面dologin.jsp中,不在直接进行逻辑处理,而是调用javaBean进行逻辑判断。

  dologin.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ page import="com.po.Users" %><%@ page import="com.dao.UsersDao" %>
用户登录

javaBeans


<% request.setCharacterEncoding("utf-8"); if(userdao.isUser(user)){ session.setAttribute("username",user.getUsername()); request.getRequestDispatcher("login_success.jsp").forward(request,response); }else{ response.sendRedirect("login_failure.jsp"); } %>

  Users.java代码如下:

package com.po;public class Users {    private String username;    private String password;        public Users(){            }    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

  UsersDao.java代码如下

package com.dao;import com.po.Users;public class UsersDao {    public boolean isUser(Users u){        if("xingoo".equals(u.getUsername()) && "123".equals(u.getPassword())){            return true;        }else{            return false;        }    }}

  其他的代码,login.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
用户登录

用户登录


username
password
View Code

  login_success.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
用户登录

用户登录


欢迎您!<%=session.getAttribute("username") %>
View Code

  login_failure.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>
用户登录

用户登录


登录失败!返回登录
View Code

 

  

转载地址:http://mktpo.baihongyu.com/

你可能感兴趣的文章
Go1.2新功能简介
查看>>
存储过程学习 10种语法
查看>>
硬派云计费正式发布
查看>>
git add 添加文件
查看>>
CCCallFunc、CCCallFuncND、CCCallFuncN、CCCallFuncO
查看>>
准备就绪
查看>>
salt-master 配置文件详解参考
查看>>
Eclipse插件开发-创建包
查看>>
Spark-2(RDD)
查看>>
腾讯云通信账号登录集成-Java签名工具类
查看>>
Spark - 创建类似于 Instagram&Spotify App 的登录界面的动态渐变背景
查看>>
css3DIV中颜色渐变
查看>>
【转载】Python的几种实现
查看>>
【原创】RabbitMQ 中的批处理问题
查看>>
Burpsuite学习(2)
查看>>
9行代码无限分类数据的树形格式化
查看>>
利用java代码实现java源文件的编译和打包为jar文件
查看>>
Jedis分片连接池(分布式)
查看>>
10 个迅速提升你 Git 水平的提示
查看>>
latest 标签在Docker 中的作用是什么?
查看>>