近日写项目心得

近日写项目心得

通过这次写项目,似乎真的知道只有实际去操作才会学有所得,回想在学习这一阶段之处,自己也就只是漫无目的的一集一集看,不知道有什么用,也不知道为什么左右,就这样稀里糊涂的看完一遍,自己都不知道学了啥。
然后回到学校就是第二遍重新看了,才稍微有些感觉,也就仅仅只是稍微,等到考核任务下来以后,看到要求很是懵,然后就又看了一遍,但感觉还是不知道学到跟所做的项目有啥关系,正是通过带着问题又去看了一遍,才知道原来是这样,截止到现在这个项目的大致流程是掌握了,但自己做到的却远远不够,因为大都时间都花在反复看视频了,尽管这样,我也一点也不沮丧,因为我是真的学到了许多,尽管还没有去实现。

项目大体思路(个人理解)

首先要在数据库建好表,然后要分为几个包来写不同的代码,第一就是要建个bean包来封装对象然后写Dao包实现对数据库的操作,接着写Service包来写功能并New Dao中的对象,然后就是写Servlet包来New Service 的对象进行操作。最后就是在jsp中写前端页面和一些java代码发送请求到Servlet然后通过调用Service接着调用Dao实现对数据库的操作再把数据响应给jsp,大致就是这样吧。

相关技术

当项目中涉及参数较多时,如果一个一个写请求并New对象会显的十分繁琐和臃肿,可以换种方法如下:

public class WebUtils {
/**
* 把Map中的值注入到对应的JavaBean属性中。
* @param value
* @param bean
/
public static T copyParamToBean( Map value , T bean ){
try {
System.out.println(“注入之前:” + bean);
/
*
* 把所有请求的参数都注入到user对象中
*/
BeanUtils.populate(bean, value);
System.out.println(“注入之后:” + bean);
} catch (Exception e) {
e.printStackTrace();
}
return bean;
}

其次在调用对应功能时首先会想到的可能时用else if来选择,实际上有更简单的方法来改进这中方式,如下:

public abstract class BaseServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String action = req.getParameter("action");
    try {
        // 获取action业务鉴别字符串,获取相应的业务 方法反射对象
        Method method = this.getClass().getDeclaredMethod(action, HttpServletRequest.class, HttpServletResponse.class);

// System.out.println(method);
// 调用目标业务 方法
method.invoke(this, req, resp);
} catch (Exception e) {
e.printStackTrace();
}
}

}

这样只需在对应的功能的jsp添加action的值就可以通过对应的action到对应的方法近而进行调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值