javaWeb项目结构
问题
- javaWeb项目结构是怎么样的?
- javaWeb项目结构为什么是这样的?
- javaWeb项目为什么需要运行在tomcat或者jetty中才能跑起来?
javaWeb项目结构是怎么样的?
- 项目结构
| - MyWebApp | - WEB-INF/web.xml -- 配置文件,用来配置Servlet等 | - WEB-INF/lib/ -- 存放Web应用所需各种JAR包 | - WEB-INF/classes/ -- 存放你的应用类,比如Servlet类 | - META-INF/ -- 目录存放工程的一些信息
- 示例:
- 代码——javaweb项目最简单的结构示例
- 项目结构图
- 怎么跑起来?
- 我们把目录中的gitee中“MyWebApp”目录拷贝到tomcat下的webapps下(其实只有简单的三个文件,但是目录结构要对)
- 启动tomcat
- 访问http://localhost:8080/MyWebApp/myservlet
- 我们可以看到返回了“My Servlet!”
- 代码解析
- web.xml文件
- java类
- web.xml文件
- 是不是没有想象中那么复杂,需要什么maven、spring、springmvc等等
javaWeb项目为什么需要运行在tomcat或者jetty中才能跑起来?
- 答案:因为像tomcat或者jetty,都是接受一个请求并封装请求的数据,但是具体怎么处理请求等等他们不知道,他们只能说提供一个规范,而他们把前面相同的逻辑封装好,形成一个叫servlet的容器。
- 其实如果不使用tomcat或者jetty,我们同样是可以接受请求,处理请求的数据,只是我们要获取请求数据,进行业务处理,然后再返回对应的返回值
- 但是,前面的那些步骤是不是一样的,是不是可以封装起来,但是我要怎么把数据给到你去操作业务逻辑呢?
- 所以,servlet规范出来了,只要你按servlet去实现对应的类、把映射关系写好,然后把项目丢到servlet容器中,就能启动一个项目
备注
- 其实MyServlet.java文件不是必须的,有类文件就好了
- 因为我的java类编译的时候是直接用javac编译的,而且需要servlet-api.jar,所以编译命令是这样的
javac -cp tomcat地址/jar/servlet-api.jar MyServlet.java