zxg588 发表于 2017-2-28 07:21:24

第03篇. 标准Web项目Jetty9内嵌API简单启动


  
  一直以来,想改变一些自己早已经习惯的事情。
  到了一定年龄,便要学会寡言,每一句话都要有用,有重量。
  喜怒不形于色,大事淡然,有自己的底线。
   --胖先生
  昨天,简单的说了一下关于Jetty9的配置,大家都在使用Maven的年代,而胖先生再弄标准web项目中内嵌服务器,这是给我的学生准备的,如果有对这个方面吐槽的请绕行!
  第一步,在STS[或Eclipse]中搭建一个动态的WEB项目,对于大家应该是一个小CASE,这里我使用的是上一节课做的SpringMVC+MyBatis的项目的登录示例。


  
  
   第二步,引入Jetty9所需要的jar,不要去想什么优化啊?什么不合理啊?我们玩的就是暴力,搞定结果就是我们想要的东西!


  找到Jetty昨天我们的解压目录,遭到lib文件夹,选中我标注的所有的jar文件,放置到WEB-INF/lib文件夹下[但是这样感觉,整个项目的jar包突然多了]


  
我再lib文件夹下有新建了一个文件夹jetty,但是如果这样设置就需要你手动add bulid path操作
  


  第三步,使用Jetty提供的API进行调用,
  如果有疑问可以访问http://www.eclipse.org/jetty/documentation/current/embedding-jetty.html
  查看帮助文档,源代码为:

  import org.eclipse.jetty.server.Server;
  import org.eclipse.jetty.webapp.WebAppContext;
  publicclass JettyLauncher {
  publicstaticvoid main(String[] args) {
  Server server = new Server(8002);//设置端口号
  try {
  WebAppContext context = new WebAppContext();
  context.setContextPath("/mvc");//访问路径
  context.setResourceBase("E:/java-workspace/祥云37MSS阶段/MyTest/WebContent");//路径
  context.setDescriptor("E:/java-workspace/祥云37MSS阶段/MyTest/WebContent/web.xml");//读取web.xml文件
  server.setHandler(context);
  server.start();
  server.join();
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }
  
  第四步,运行Main方法,执行Java Application,在地址栏中访问
  http://127.0.0.1:8002/mvc/index.jsp页面


  
  但是当我们进行登录的时候,页面中显示找不到sys/login的路径,报错误 NOT FOUND 404 ,这个是为什么?
之后又仔细看了一看控制台,感觉缺少了一些什么东西!
希望你们能出一样的错误,如果使用的MyEclipse的IDE的各位童靴,应该不会出现这个问题,因为我们java文件编译的文件路径是在bulid/classes文件下,而不是在WEB-INF/classes文件夹下,因为我在WEB-INF新建了一个classes文件夹,修改编译的路径,嘿嘿,知道吗?
  第五步,修改Java文件编译路径


  通过这样的设置我们还能做什么呢,给Tomcat设置虚拟目录,请参考博客文章:
  http://www.cnblogs.com/pangxiansheng/p/4436900.html
  第六步,再次测试,大功告成,哇咔咔!
  计划: 针对于启动的不同方式和分布式,在简单研究一下


  胖先生的微信
  感觉该文章对你有所帮助,请点击下方的
推荐↓↓↓↓↓↓↓↓↓↓
您的支持是我最大的动力,
该资料推荐给四海兴唐的各位同学,
希望你们工作顺利,不管何时何地,
能帮助你们是胖先生的荣幸!

  请打赏已经结束,谢谢各位的支持,测试一下
  叶子:
  蜗牛:
  纪轩:
  小霞:
  最后在道一次感谢,知道你们在关注我!
  我再四海兴唐等你们
  学Java来四海!
  
页: [1]
查看完整版本: 第03篇. 标准Web项目Jetty9内嵌API简单启动