开发者社区> 问答> 正文

请大家指点,学STRUTS2……? 400 报错

请大家指点,学STRUTS2……? 400 报错

熬了几夜,感觉对struts2中的action认识提高了不少,想请大家指点一二,请不吝赐教。

第一、我用DAO这种模式搞,思路是:用JSP作提交和结果显示界面,用action处理JSP请求,并在action中校验输入,同时更新数据库表,成功后再转到JSP显示结果。对所有的数据表都进行了单独的DAO类处理,对每个数据表又进行了单独的分页查询类处理。不知这种思路对不对……(使用单独的数据库连接类,还没有学连接池的知识,准备搞清楚STRUTS2的action后再学连接池的知识)

第二、action处理JSP请求时,对所有的表单项都要get和set,如果表单很多的话(比如有50项),有没有其它更好的办法处理。

手边也没有详细的struts2方面参考书籍,所以只好请教大家了。

在此我要感谢那些曾经帮助和即将帮助我的网友们,谢谢大家了……

展开
收起
爱吃鱼的程序员 2020-06-05 13:00:35 634 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    第二个不算是个问题吧:

    现在开发工具都可以自动帮你生成 getter/setter 方法的

    ######

    第二项 struts2不是默认提供自动转换的吗?

    比如:

    用户类

    class User {

    private String name;

    private String address;

    get/set略

    }

    页面上表单有 姓名 地址两项文本域(注意input的nam命名方式)

    <input name="user.name"/>

    <input name="user.address"/>

    action里定义一个user对象变量就可以了,

    private User user;

    public get/set方法;

     

    这样表单传过来的数据,就可以自动封装到user对象里了。。。这样就不用写50多个get、set了,只要一个user的get、set就可以了

    啊是这个意思?struts2的入门指南里有介绍的呀。。。。还可以转换成list map等等。。。

    ######

    第一点的理解是正确的,DAO封装对数据库的操作,Action处理请求并对数据进行校验,然后调用DAO类实现功能,如果功能比较复杂,可以增加Service层将业务逻辑封装,Action-Service-DAO。

    第二点的getter和setter一般都使用IDE自带的功能生成。不需要自己写。楼上提供的使用实体Bean的方式也是可以的。

    ######

    getter和setter可以IDE自动生成,况且如果表单里的内容不需要处理的话也就不一定要写getter和setter,bean里只写需要的就行

    ######

    很感谢大家对我的指点,让我学习的劲更足了……

    set/get确实不用我们写,但我担心代码太多会不会占用系统资源。

    三楼沙逛鱼师兄的方法,一定找个时间研究一下,到时候不免又要麻烦大家,先谢谢了,感谢大家的帮助。

    ######

    bean不会太占资源的,放心好了

    ######

    第一个的理解一有点小问题

    一般都是.jsp->action->service->dao这样的一个过程,不过你刚开始弄struts2也无所谓.自己知道就行了

    关于连接池的话..hibernate和spring好像都可以做

    第二个,action处理JSP请求时,对所有的表单项都要get和set,如果你有50项的话那就必须要有50个get/set

    因为对于属于提供get/set是java面向对象的一种封装机制,而struts2-core里面的valueStack运行机制是根据页面的表单元素提交到action后,valuestack会自动根据表单元素的Name属性去填充action类中对应元素的属性

    很方便的

    ######

    首先要理解的是 MVC 模式

    ######

    4楼和8楼的师兄提到的service不知是什么角色,我买的书上没有提及,是不是和action一样是接口还是其它什么,service是属于那个环节的,看来我要重新买书了……

    hibernate和spring倒是在网上看了一些资料,感觉有点难度,准备进一步学习,尤其是orm好像不用再搞sql语句,应该很方便。

    ######

    jsp/html属于表现层

    action是属于控制层

    service属于业务层

    dao属于数据层

    jsp-->action-->service-->dao

    一个完整的ssh就是这样子的过程...一层调一层,,都由spring进行管理

    2020-06-05 13:00:52
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载