工作两年了。最近回顾了一下自己当初学习时,制作的demo(struts+hibernate+spring)。仅供学习的时候参考。
总结以下几点:
1。sevlet
xml 代码
- <servlet>
-
- <servlet-name>actionservlet-name>
- <servlet-class>
- org.apache.struts.action.ActionServlet
- servlet-class>
- <init-param>
- <param-name>configparam-name>
- <param-value>/WEB-INF/struts-config.xmlparam-value>
- init-param>
- <init-param>
- <param-name>debugparam-name>
- <param-value>3param-value>
- init-param>
- <init-param>
- <param-name>detailparam-name>
- <param-value>3param-value>
- init-param>
- <load-on-startup>0load-on-startup>
- servlet>
<servlet-name></servlet-name>
2。plugs
xml 代码
- <plug-in
- className="org.springframework.web.struts.ContextLoaderPlugIn">
- <set-property property="contextConfigLocation"
- value="/WEB-INF/applicationContext.xml,
- /WEB-INF/action-servlet.xml" />
- plug-in>
3.action
xml 代码
- <action attribute="userForm" input="/userList.jsp"
- name="userForm" path="/userManager" scope="request" validate="false"
- type="org.springframework.web.struts.DelegatingActionProxy"
- parameter="method">
- <forward name="list" path="/userList.jsp" />
- <forward name="edit" path="/userForm.jsp" />
- action>
4.bean
xml 代码
<property name="userManager"><ref bean="userManagerServiceProxy"></ref></property>
- <bean name="/userManager" class="com.melet.web.UserAction" singleton="false">
- <property name="userManager"><ref bean="userManagerServiceProxy"/>property>
- bean>
注:bean 的name 名称与 action的path 名称一致。见标红字体。以便通过spring中的bean委派给struts。
或不使用type的方式。但要对每个action进行相应的注入。如:
5。注入
java 代码
- @Override
- public void setServlet(ActionServlet actionServlet) {
- super.setServlet(actionServlet);
- ServletContext servletContext = actionServlet.getServletContext();
- WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
- this.userManager = (UserService)wac.getBean("userManager");
- this.documentManager = (DocumentService)wac.getBean("documentManager");
- }
分享到:
相关推荐
10. **图书和API**:《Java API 官方文档中文版》和《JDK1.6 API 中文版(CHM 格式)》是开发中不可或缺的参考资料,而《Java 深度历险》和《Thinking In Java 4th》则提供了深入学习的视角。 11. **分布式计算和消息...
6. **前端技术**:《15天学会jQuery》、《Java Script 高端程序设计》、《AJAX经典实例大全》和《征服Ajax-Web 2.0快速入门与项目实践》等书籍讨论了JavaScript和Ajax在创建动态网页中的应用。 7. **框架和技术**:...
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。