简单的javaBean综合应用项目实践


如果web应用全由JSP页面组成会影响web程序的扩展性和可维护性。这时就出现了JavaBean,数据和业务逻辑都可以封装在JavaBean中。

JavaBean设计原则:

  1.          公有类;
  2.          无参的构造方法;
  3.          私有属性;
  4.          get,set方法;

下面是一个JAVABEAN综合应用实践:

创建User类实现简单的数据存取:

public class User {
     private String username;
     private String password;
     public User(){
    	 
     }
     public void setUsername(String username){
         this.username=username; 	
       }
     public String getUsername(){
         return username;
     }
     public void setPassword(String password){
         this.password=password;
     }
     public String getPassword(){
    	 return password;
     }
 }
创建UserDao类实现简单的业务逻辑:

public class UserDao {
	public boolean userDao(User s){
	    if("admin".equals(s.getUsername())&&"admin".equals(s.getPassword())){
	        return true;	
	    }
	    else{
	    	return false;
	    }
	}
}
使用HTML创建一个登录表:

<form action="login.jsp" mothod="post" name="loginform">
       <table>
           <tr>
               <td>
                    用户名:
               </td>
               <td>
                    <input type="text" name="username" value="">
               </td>
           </tr>
           <tr>
               <td>
                   密码:
               </td>
               <td>
                   <input type="password"  name="password" value="">
               </td>
           </tr>
           <tr>
                  <td align="center" colspan=2>
                  <input type="submit" value="登录" >
               </td>
           </tr>
       </table>
   </form>
对登录信息做出响应:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<jsp:useBean id="loginUser" class="po.User" scope="request"/>
<jsp:useBean id="daoUser" class="dao.UserDao" scope="request"/>
<jsp:setProperty property="*" name="loginUser" />

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
if(daoUser.userDao(loginUser)){
    session.setAttribute("User",loginUser.getUsername());
     request.getRequestDispatcher("loginSuccess.jsp").forward(request,response);
     
}
else{
   response.sendRedirect("loginFailure.jsp");
}
%>
loginSuccess.jsp

 欢迎您<font color="red"><%=session.getAttribute("User") %></font>







  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jsp结合JavaBean实践(用到HashMap) javaBean的用处主要在于存取页面信息,通过getXXX和setXXX方法实现。 1、声明javaBean <jsp:useBean id="localName" class="com.jguru.Person" scope="application" /> Id:是类的代号 Class:是类的全名 Scope:是类的有效范围 2、保存页面信息(赋值) <jsp:setProperty name="rd" property="path" value="d:/testsongyc.txt" /> Id:是类的代号 property:是属性名 value:是属性的值 3、取值 <jsp:getProperty id="localName" property="name" /> Id:是类的代号 property:是属性名 示例 readFile.jsp: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <%@ page import="java.io.*"%> <%@ page import="java.lang.reflect.Array"%> <%@ page import="java.lang.Long"%> <%@ page import="java.util.HashMap"%> <jsp:useBean id="rd" class="songyc.ReadFile" scope="application"> <jsp:setProperty name="rd" property="path" value="d:/testsongyc.txt" /> </jsp:useBean> <% HashMap hm=new HashMap(); Double db=null; //rd.setPath(path); hm=rd.read(); db=(Double)hm.get("sum"); out.print("使用交易系统的时间总数是:"+db.doubleValue()); %> ReadFile.java package songyc; import java.io.*; import java.util.*; import java.lang.reflect.Array; public class ReadFile { BufferedReader bf; FileReader fr; File f; String filename,readin; boolean bl=true; String [] s_array; boolean has=false; int p=0; double temp1=0.0; double temp2=0.0; double sum_dingdan=0.0; double sum_yonghu=0.0; double sum_shuju=0.0; double sum_huiyuan=0.0; double sum_hetong=0.0; double sum_chengjiao=0.0; double sum_caiwu=0.0; HashMap hm=new HashMap(); String path=""; public HashMap read(){ try{ // path = "d:/testsongyc.txt"; f = new File(path); fr=new FileReader(f); bf = new BufferedReader(fr); while(bl){ readin=bf.readLine(); if(readin==null){bl=false;} if(bl){ //下面要从读的行中提取使用次数和平均时间 s_array=readin.split(" "); for(int i=0;i<Array.getLength(s_array);i++){ //统计订单系统用时 if(s_array[i].matches("订单系统")){ p=i; //position temp1=(new Double(s_array[p+3])).doubleValue(); temp2=(new Double(s_array[p+4])).doubleValue(); sum_dingdan+=(temp1*temp2); break; } } } } //HashMap是非常常用的对象,用put(obj key,obj value)赋值,用get(obj key)获得对应的value 对象。 hm.put("sum",new Double(sum_dingdan)); }catch (Exception e){ System.out.println(e.getMessage()); bl=false; //System.out.println("false"); } return hm; } public void setPath(String pa){ this.path=pa; } public String getPath(){ return path; } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值