没有合适的资源?快使用搜索试试~ 我知道了~
首页Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
资源详情
资源评论
资源推荐
2016/1/4 Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
http://www.360doc.com/content/14/0519/21/16366802_379158025.shtml 1/19
Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
收藏人:horse_home
前言
确实好久没有写过了,一直以来把写博文当作自己学习的总结,当作做过的笔记,随时都可以拿出来看看。不过最近习惯了用OneNote和印象笔记,所以就很少在论坛写博文。但是偶尔看到几篇
被转载了,也小小的虚荣了下。这种虚荣大神们已经习以为常,他们是不能理解的。
好吧,转入正题。
参加工作从事JavaWeb开发将近两年,也没有完整的搭建出一个SSH框架的项目,说出来确实有点不好意思,并且前一段一个朋友问我搭建过SSH框架没,我都没有好意思说没有。所以才有了
搭建一个SSH框架项目的想法,因此有了今天的这篇博文。
这篇博文的目的
1. 尝试搭建一个完整的SSH框架项目。
2. 给以后的自己,也给别人一个参考。
读博文前应该注意:
1. 本文提纲:本文通过一个用户注册的实例讲解SSH的整合。创建Struts项目,整合Hibernate,整合Spring。最后总结如何熟练创建SSH项目。
2. 仅是创建SSH项目,对于其他的扩展例如Struts的国际化,Hibernate的缓存优化,Spring的AOP等,本博文涉及不到。想学习更多的东西请搜索其他博文。
3. 本项目的环境:Windows864位,EclipseIndigoServiceRelease2,Tomcat7.0,Struts2.2.3.1,springframework3.2.3.RELEASE(
用Spring3.1,但是整合Spring的时候启动服务器报错。错误信息竟然是Spring框架中的方法参数空指针。。。对比Spring3.2版本后,发现在3.2种
增加了判断此参数是否为空,所以最终改为用Spring3.2.3的版本。详细错误信息见本目录下5),hibernaterelease4.0.0.CR6(
可以启动服务器,但是点击注册后调用UserDao类的getHibernateTemplate().save(Obj)时浏览器页面报错,但是服务器没有反应。提示
org.hibernate.SessionFactory中有没有openSession(Interceptorinterceptor)
方法,但是Spring框架中的代码Sessionsession=(entityInterceptor!=null?sessionFactory.openSession(entityInterceptor):
sessionFactory.openSession())显示用到该方法,虽然调用这段代码的方法传进来的entityInterceptor就为null。。。网上搜索无果,所以最终在整
合Spring的时候使用Hibernate3.6.10.Final。详细错误信息见本目录下6),MySQL5.5.28下的project数据库。
4. user表的创建脚本。
[sql]viewplaincopyprint?
1. createtableuser(
2. userIdintauto_increment,
3. userNamevarchar(16)notnull,
4. passwordvarchar(16)notnull,
5. genderintnotnull,
6. primarykey(userId)
7. );
5. 使用Spring3.1时出现错误的详细信息。
[plain]viewplaincopyprint?
1. SEVERE:Contextinitializationfailed
2. org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFactory'definedinServletContextresource[/WEB
INF/applicationContext.xml]:Invocationofinitmethodfailed;nestedexceptionisjava.lang.NullPointerException
3. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1445)
4. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
5. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:459)
6. atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
7. atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
8. atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
9. atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
10. atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
11. atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
12. atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
13. atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:381)
14. atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
15. atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
20140519|阅:1290 |分享转:5 |来源
登录 注册搜文章找馆友
首页 阅览室 馆友 我的图书馆
2016/1/4 Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
http://www.360doc.com/content/14/0519/21/16366802_379158025.shtml 2/19
16. atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
17. atorg.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
18. atorg.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
19. atjava.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
20. atjava.util.concurrent.FutureTask.run(FutureTask.java:166)
21. atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
22. atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
23. atjava.lang.Thread.run(Thread.java:722)
24. Causedby:java.lang.NullPointerException
25. atorg.springframework.orm.hibernate4.LocalSessionFactoryBuilder.scanPackages(LocalSessionFactoryBuilder.java:138)
26. atorg.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:294)
27. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1504)
28. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1442)
29. ...20more
30.
31. 七月13,20136:48:44下午org.apache.catalina.core.StandardContextlistenerStart
32. SEVERE:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListener
33. org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionFactory'definedinServletContextresource[/WEB
INF/applicationContext.xml]:Invocationofinitmethodfailed;nestedexceptionisjava.lang.NullPointerException
34. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1445)
35. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
36. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:459)
37. atorg.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
38. atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
39. atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
40. atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
41. atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
42. atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
43. atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
44. atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:381)
45. atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
46. atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
47. atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
48. atorg.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
49. atorg.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
50. atjava.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
51. atjava.util.concurrent.FutureTask.run(FutureTask.java:166)
52. atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
53. atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
54. atjava.lang.Thread.run(Thread.java:722)
55. Causedby:java.lang.NullPointerException
56. atorg.springframework.orm.hibernate4.LocalSessionFactoryBuilder.scanPackages(LocalSessionFactoryBuilder.java:138)
57. atorg.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:294)
58. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1504)
59. atorg.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1442)
60. ...20more
6. 整合Spring时候,使用Hibernate时点击注册报错信息。
[plain]viewplaincopyprint?
1. java.lang.reflect.InvocationTargetException
2. sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
3. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
4. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
5. java.lang.reflect.Method.invoke(Method.java:601)
6. com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
7. com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
8. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
9. com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
10. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
11. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
12. com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
13. org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
14. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
15. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
16. com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
17. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
2016/1/4 Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
http://www.360doc.com/content/14/0519/21/16366802_379158025.shtml 3/19
18. com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
19. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
20. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
21. com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
22. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
23. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
24. com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
25. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
26. org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
27. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
28. org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
29. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
30. org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
31. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
32. com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
33. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
34. com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
35. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
36. org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
37. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
38. com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
39. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
40. com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
41. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
42. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
43. com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
44. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
45. org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
46. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
47. com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
48. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
49. com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
50. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
51. org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
52. org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
53. org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
54. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
55.
56. rootcause
57.
58. java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
59. org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:323)
60. org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:235)
61. org.springframework.orm.hibernate3.HibernateTemplate.getSession(HibernateTemplate.java:457)
62. org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:392)
63. org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
64. org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:683)
65. com.ynwi.ssh.daoImpl.UserDao.saveObject(UserDao.java:12)
66. com.ynwi.ssh.serviceImpl.UserManagerImpl.regUser(UserManagerImpl.java:23)
67. com.ynwi.ssh.action.RegisterAction.execute(RegisterAction.java:29)
68. sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
69. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
70. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
71. java.lang.reflect.Method.invoke(Method.java:601)
72. com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
73. com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
74. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
75. com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
76. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
77. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
78. com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
79. org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
80. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
81. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
82. com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
2016/1/4 Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
http://www.360doc.com/content/14/0519/21/16366802_379158025.shtml 4/19
83. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
84. com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
85. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
86. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
87. com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
88. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
89. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
90. com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
91. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
92. org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
93. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
94. org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
95. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
96. org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
97. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
98. com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
99. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
100. com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
101. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
102. org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270)
103. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
104. com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
105. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
106. com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
107. com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
108. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
109. com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
110. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
111. org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
112. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
113. com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
114. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
115. com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
116. com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
117. org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
118. org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
119. org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
120. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
创建Struts项目
创建工程
1. 在Eclipse中创建一个DynamicWebProject,本文项目名称为SSHProject。
2. 把Struts内apps文件夹下的struts2blankwar包用压缩工具解压,然后把WEBINF/lib内的jar包和WEBINF下的web.xml文件分别复制到SSHProject项目下的WEBINF/lib内和WEBINF下。
3. 在src目录下创建相应package。
4. 在WebContent下创建Register.jsp文件,并分别创建注册成功和注册失败的Success.jsp和Fail.jsp。
操作完成后的结构如图所示:
剩余18页未读,继续阅读
Soolaugust
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2022年中国足球球迷营销价值报告.pdf
- 房地产培训 -营销总每天在干嘛.pptx
- 黄色简约实用介绍_汇报PPT模板.pptx
- 嵌入式系统原理及应用:第三章 ARM编程简介_3.pdf
- 多媒体应用系统.pptx
- 黄灰配色简约设计精美大气商务汇报PPT模板.pptx
- 用matlab绘制差分方程Z变换-反变换-zplane-residuez-tf2zp-zp2tf-tf2sos-sos2tf-幅相频谱等等.docx
- 网络营销策略-网络营销团队的建立.docx
- 电子商务示范企业申请报告.doc
- 淡雅灰低面风背景完整框架创业商业计划书PPT模板.pptx
- 计算模型与算法技术:10-Iterative Improvement.ppt
- 计算模型与算法技术:9-Greedy Technique.ppt
- 计算模型与算法技术:6-Transform-and-Conquer.ppt
- 云服务安全风险分析研究.pdf
- 软件工程笔记(完整版).doc
- 电子商务网项目实例规划书.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0