请大家指点,学STRUTS2……? 400 报错
熬了几夜,感觉对struts2中的action认识提高了不少,想请大家指点一二,请不吝赐教。
第一、我用DAO这种模式搞,思路是:用JSP作提交和结果显示界面,用action处理JSP请求,并在action中校验输入,同时更新数据库表,成功后再转到JSP显示结果。对所有的数据表都进行了单独的DAO类处理,对每个数据表又进行了单独的分页查询类处理。不知这种思路对不对……(使用单独的数据库连接类,还没有学连接池的知识,准备搞清楚STRUTS2的action后再学连接池的知识)
第二、action处理JSP请求时,对所有的表单项都要get和set,如果表单很多的话(比如有50项),有没有其它更好的办法处理。
手边也没有详细的struts2方面参考书籍,所以只好请教大家了。
在此我要感谢那些曾经帮助和即将帮助我的网友们,谢谢大家了……
第二个不算是个问题吧:
现在开发工具都可以自动帮你生成 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进行管理
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。