当前位置:  软件>java软件

mvc框架 fw4j

    来源:    发布时间:2014-12-22

    本文导语:  一个使用servlet+反射实现的mvc框架与使用asm实现的数据库操作层框架 该框架目前处于开发阶段,框架实现方法简单,肯定存在不足之处希望以后可以继续完善 已经实现的功能有: Controller控制层 请求转发 ...

一个使用servlet+反射实现的mvc框架与使用asm实现的数据库操作层框架

该框架目前处于开发阶段,框架实现方法简单,肯定存在不足之处希望以后可以继续完善

已经实现的功能有:

  • Controller控制层

  • 请求转发

  • 页面重定向

  • 数据库的基本操作

  • 通过注解获得cookie中的值
  • 通过注解获得request中的参数值
  • 添加了一个简单的数据库连接池
  • 没有实现的功能:

        数据库的存储过程调用、表关联

    使用实例:

    控制层代码

     package com.demo.controller;
    
    import java.util.Date;
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.demo.dao.UserDao;
    import com.demo.entity.UserEntity;
    import com.fw4j.jdbc.factory.DaoFactory;
    import com.fw4j.jdbc.factory.EntityFactory;
    import com.fw4j.web.annotation.Controller;
    import com.fw4j.web.annotation.Parameter;
    import com.fw4j.web.annotation.RequestMapping;
    
    @Controller
    @RequestMapping("/")
    public class DemoController {
    
    	@RequestMapping("/index")
            @Action(type=Type.REQUEST,result="/view/index.jsp")
            public int doGet(){
    		return 0;
    	}
        
           @RequestMapping("/list")
           @Action(type=Type.TOJSON)
           public Object list(){
                List objectlist = new ArrayList();
                Map valMap = new HashMap();
                valMap.put("222", "222");
                valMap.put("123", "123");
                objectlist.add(valMap);
                objectlist.add(valMap);
                return objectlist;
            }
    
            @RequestMapping(value="/add",method=Method.POST)
    	public String add(@Parameter({"name","pwd"}) String name, String pwd) throws Exception{
    		
    //        DaoFactory.transaction(new TransactionCallback() {    
    //            @Override
    //            public void invoke() throws SQLException {
    //                UserEntity ue = null;
    //                try {
    //                    ue = EntityFactory.getInstance(UserEntity.class);
    //                    ue.setName(name);
    //                    ue.setPwd(pwd);
    //                    ue.setLoginTime(new Date());
    //                    DaoFactory.getSynConnectInstance(UserDao.class).saveOrUpdate(ue);
    //                } catch (InstanceException e) {
    //                    e.printStackTrace();
    //                } catch (Exception e) {
    //                    e.printStackTrace();
    //                }
    //            }
    //        });             
                    UserEntity ue = EntityFactory.getInstance(UserEntity.class);
    		ue.setName(name);
    		ue.setPwd(pwd);
    		ue.setLoginTime(new Date());
    		DaoFactory.getInstance(UserDao.class).saveOrUpdate(ue);
    		return "redirect:/show";
    	}          
            @RequestMapping("/show")
    	public String show(OutParameter oparam) throws Exception{
    		Listuel = (List)DaoFactory.getInstance(UserDao.class).getAll();
    		oparam.put("users", uel);
    		return "/view/show.jsp";
    	}
    }
    

    实体层:

    package com.demo.entity;
    
    import java.util.Date;
    
    import com.fw4j.jdbc.annotation.Column;
    import com.fw4j.jdbc.annotation.Entity;
    import com.fw4j.jdbc.annotation.Key;
    import com.fw4j.jdbc.annotation.Table;
    
    @Entity
    @Table("users")
    public interface UserEntity {
    	
    	@Key
    	@Column(value="id",type=Column.INTEGER)
    	void setId(int id);
    	int getId();
    	
    	@Column(value="name",type=Column.STRING)
    	void setName(String name);
    	String getName();
    	
    	@Column(value="pwd",type=Column.STRING)
    	void setPwd(String pwd);
    	String getPwd();
    	
    	@Column(value="loginTime",type=Column.DATE)
    	void setLoginTime(Date lt);
    	Date getLoginTime();
    }

    数据库操作层:

    package com.demo.dao;
    
    import java.util.List;
    
    import com.demo.entity.UserEntity;
    import com.fw4j.jdbc.annotation.Dao;
    import com.fw4j.jdbc.annotation.Query;
    import com.fw4j.jdbc.annotation.Where;
    import com.fw4j.jdbc.dao.BaseDao;
    
    @Dao(UserEntity.class)
    public interface UserDao extends BaseDao {
    	
    	@Query("select * from users")
    	@Where("name = ? and pwd = ?")
    	ListfindByNameAndPwd(String name,String pwd);
    }

    配置文件:

    
      demo
      
        index.html
        index.htm
        index.jsp
        default.html
        default.htm
        default.jsp
      
      
      fw4j
      /
      
      
      fw4j
      com.fw4j.web.servlet.DispatcherServlet
       1
      
     
    

    fw4j的独立配置文件

    
      
          utf-8
      	  /WEB-INF/view/
      
      
          
              jdbc:mysql://localhost/webauth
              com.mysql.jdbc.Driver
              root
              123
              10000
          
          
              jdbc:h2:tcp://127.0.0.1:9094/~/test
              org.h2.Driver
              sa
              
          
      
    






        
     
     
     
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedList.Mvc)
  • MVC 5 第一章 创建MVC 5 web应用程序
  • MVC 5 第二章 MVC5应用程序项目结构
  • 哪里有MVC方面的资料??最好是中文的.谢谢.
  • PHP的MVC框架 ApPHP
  • ash.MVC
  • Mac's PHP MVC Framework
  • php.MVC
  • 简单的MVC框架 dispatcher
  • 对MVC的一些疑问
  • 哪位对mvc模式有研究?
  • 基于jQuery实现的MVC开发框架 CorMVC iis7站长之家
  • java mvc框架 mint-mvc
  • mvc框架 jxyz
  • MVC2 jQuery的验证时,关于客户端验证绑定复选框问题。
  • 基于PHP的MVC开发框架 Arsenals
  • PHP 框架 Medoo-MVC
  • PHP的MVC框架 AngryFox
  • PHP的MVC框架 AlloyFramework
  • mvc框架 CrossPHP


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3