fw4j- mvc框架

网友投稿 614 2022-10-13

fw4j- mvc框架

fw4j- mvc框架

一个使用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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【配置中心】——配置中心选型
下一篇:【hibernate】——hql简单属性+实体对象查询
相关文章

 发表评论

暂时没有评论,来抢沙发吧~