最近公司都没啥事,我在完成了控制台版的本地五子棋后(github地址:https://github.com/lkq51/wuziqi_console2),想将他升级成为一个web版的五子棋游戏。因为公司里用的都是ssh的环境,所以我也不管合不合适了,也将采用ssh框架来搭建web版五子棋。
刚使用IDEA时感觉界面什么的都很不错,特别是代码提示功能很强大,但是使用了一段时间之后发现有很多功能实在是不习惯,或者说是没用好。
在新建项目的时候(IDEA中的project相当于Eclipse中的workSpace,module才是Eclipse中的project)勾选好Spring,Spring web service,web Application, Structs2以及hibernate。别忘了在下方勾选生成相应的xml文件。 SSH的依赖包可以选择使用已有库(就是得自己下载好),也可以选择Download,这些都能在勾选的界面看到。
接下来就会生成相应的module。我说说我在整个搭建过程中遇到的坑吧。
1.由于我当时没有勾选spring web service,所以我在配置web.xml时
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
提示我找不到web这个包,我又不想手动去下载spring-web包添加到lib中,但是又不知道怎么才能自动追加。所以我选择引入了maven。在maven中写入
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
</dependencies>
发现External Libraries中多了不止spring-web包,还有commmons-logging-1.2.jar,spring-aop-4.3.3,spring-beans-4.3.3,spring-context-4.3.3,spring-core-4.3.3,spring-expression-4.3.3.因为担心发布的时候会有jar重复而冲突所以我把spring-web包手动移到了lib文件夹下后把其他jar都删除了。 有点蠢。。 我不是很清楚maven怎么引入单一的spring-web.jar。
2.随后我配置好tomcat后点击运行,提示我说没有spring-web这个包,但是我明明引入了啊? 很是奇怪。在一番折腾后我打开project Structure时发现lib下居然没有添加进去的spring-web。这我就不知道为什么了,
只好在这个界面又添加了一次spring-web(选中lib文件夹,点击“加号”,可以选择加入新的library files)。
3.起初我是使用了tomcat7.发布之后报500错误,提示说javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;什么什么的 我尝试性的换了tomcat6.居然没有问题了。。。
可能是版本不兼容???? 有空再来找找问题。
在这三个坑都过去之后,我在配置好IDEA中配置后数据库(mysql)后,想让ide自动替我生成model类以及相应的hbm.xml文件。这里我参考的是https://my.oschina.net/wangyuefive/blog/683771 这篇博客。。写的很好。解决了我的问题。