注:本文将介绍的是使用IDEA+jetty+SpringMVC完成简单的web项目
一、项目设计
使用IDEA编写简单登录程序,程序功能包括登录验证和信息反馈。
二、Spring MVC目录结构
上一篇Spring MVC学习-简介篇中讲到Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这个目录图就比较好理解了,如下图。
com包下面有四个目录,分别为controller,dao,model,service,这是Spring MVC的主要构成部分,当然还有view层,下面详写各个部分的作用:
1、controller主要负责前端连接的分发控制,主要返回jsp文件以及调用service方法
2、dao负责对数据库的连接,以及各种增删改查,从而对对象的方式输出,被调用
3、model存放Javabean,实现某个类的属性注册,如setXX,getXX等,在此项目中有User类,会被全局调用
4、service处理数据库信息,主要是书写逻辑和计算,一般调用dao中的类方法,其本身的方法将被controller调用
5、view主要是将数据界面化,并呈现在客户端
此处应当注意一点,out为项目输出的文件夹,也是jetty/Tomcat的直接访问目录,artifacts是一个项目资源的组合体,可以是一个archive文件,也可以是一个包含多个结构元素的目录结构,在此项目中,artifacts是一个已打包的java应用。production存放已编译好的class文件。
三、实施项目过程中遇到的问题
1、首次jetty server配置,按照jetty学习-使用篇(Intellij IDEA上的部署)配置,如果不使用Spring MVC,jetty配置正常,使用Spring MVC之后,配置过程中出现了以下问题,
解决方法:用记事本打开jetty目录下的start.ini文件,在文件中添加--module=jmx,保存,重启IDEA再次配置jetty即可
2、jetty配置完成可正常运行项目,同时我也配置了Tomcat,也出现了一点小问题,在配置Deployment时,如果将Application context设置为默认,则会出现本地和服务器的URL不匹配,导致出现error404,所以此处的配置应当为out目录下的项目名。
四、测试
(1)失败测试:输入username为123,password为123,点击登录,跳转到login_failed页面,显示login failed
(2)成功测试:输入username为admin,password为123,点击登录,跳转到index.jsp页面,显示用户信息(用户名和密码)
五、项目总结
关于output
intellij idea使用Tomcat部署项目后并不会把编译后的项目复制到tomcat的webapps目录下,默认是output到project所在工程下的out文件夹中,但是它会把编译好的项目路径告诉Tomcat,让Tomcat来找到这个项目,其它的项目比如Tomcat的主页项目ROOT是打不开的,因为intellij idea 只让Tomcat运行了一个项目,实际上是tomcat重定向到此artifact。这样也比较合理,毕竟开发机只是调试;实际部署时,还是需要将war远程cp到生产服务器的tomcat中。
网友评论