发表于: 2017-01-18 23:09:48
1 2115
今天完成的事情:
1、 改用Jetty运行web项目
2、 实现json返回数据
明天计划的事情:
1、 实现REST风格接口
2、 部署远程服务器
3、 试试IDEA
遇到的问题:
1、 改用Jetty跑项目报错:
-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
这个要先在系统中设置Maven的环境变量,我的环境变量早就设置过了,问题不出在这里,然后,再在在MyEclipse中打开“Preferences”,进入“Java---Installed JREs”,我之前一直用的是MyEclipse中自带的默认JDK,版本是1.7,而我自己装的是JDK1.8,所以,这次直接换成JDK1.8版本,点击Add
选中Standard VM,在“Default VM arguments”选项设置“-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME”
还有一个问题,使用Jetty时,没有配置plugin貌似也没有报错
2、在没解决上面问题之前,一直没找到原因,反复试了很多方法,导致多出了不少项目,像下面这个名字为student,是安装Eclipse Jetty插件,通过Run As...——>Run with Jetty产生的,右键项目——>Run As...——>Run Configuration
默认的端口被我手动改成了8005,Context Path为/,所以这个项目的访问路径应该是:http://localhost:8005/date/getdatetime,后面的date/getdatetime是Controller中设置的匹配路径,而下面的student(1)项目是通过安装Run-Jetty-Run插件,通过Run As...——>Run Jetty运行产生的,这个Run Configuration又不同了:
这个项目的访问路径应该是:http://localhost:8080/student/getdatetime
而下面student(2)、student(3)、student(4)用Run As...——>Maven Build...运行产生出来的,在Goals要输入:jetty:run
有一点要注意,每次启动Jetty前,要确保上次运行的Jetty已经停止了,不然会报端口被占用异常:
当然,也可以通过手动设置端口号,启动两个Jetty,例如我设置了另一个端口为8005,通过命令netstat -ano查看所有端口的占用情况,找到占用端口的进程PID,一个为14992,一个为12148:
打开任务管理器查看PID为14992和12148的进程:
可以看到两个进程都是javaw.exe,也可以通过结束任务关闭Jetty
收获:
实现了Json数据返回,但还不算严格的REST风格,
查询id为11的学员信息
查询所有学员:
评论