文章目录
一. 自研框架的模块
- 一. 自研框架的模块
- 二. 创建新的模块
- 三. pom文件导入依赖与插件
- tomcat7-maven-plugin 插件的小坑
- 四 编写一个Servlet 与jsp
- 五. 启动项目
- 六. jsp文件本质
自研框架的模块如下. 主要包含了Spring 的核心的IOC和AOP, Parser用于把配置文件中的信息解析到类中. web层中, 实现Servlet 和MVC
新的模块取名叫做 simpleframework
如下, pom中导入servlet与jsp的依赖. mavan 编译与tomcat的插件
4.0.0
org.javastudy
simpleframework
1.0-SNAPSHOT
war
UTF-8
javax.servlet
javax.servlet-api
4.0.1
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.3
provided
simpleframework
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
11
11
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
/${project.artifactId}
%1$tT %3$s %5$s %n
pom文件中的scope
- 如果是provided, 与compile基本一致(默认值为compile) , 代表程序在测试,编译,运行,都会用到此jar包, provided 与compile唯一不同的是, 打包的时候, provided不会打包进去, 而compile是会打包进去的.
- 如果是test , 代表此jar包只会在测试的时候用到.
为了这个坑, 搞了2 个小时. 最开始导入tomcat7-maven-plugin
插件的时候, 一直报红, 网上查帖子说是要在pom里面换个仓库, 但是对我不管用. 还是报红, 接着我手动的安装此jar包, 重启idea 后不报红了,但是启动项目报错, 找不到一些类,说明只是手动安装此jar包也没有用, 启动项目后依赖了其他的jar包. 接着把本地仓库中手动安装的插件jar包删除了, idea没有报红, 启动项目, 这个时候奇迹终于发生了, 控制台打印了在下载一堆的jar包, 一查看本地仓库, 给这个插件下载下来了, 而且启动项目也不报错了, 说明遇到困难, 还是不能轻易的放弃, 说不定下一秒就给解决了.
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = "我的自研框架";
// 给jsp页面中name 赋值
request.setAttribute("name", name);
// 请求转发 的路径
request.getRequestDispatcher("WEB-INF/jsp/hello.jsp").forward(request, response);
}
}
jsp如下 用于显示name
tomcat7:run
访问
http://localhost:8080/simpleframework/hello
显示如下
根据控制台查看Tomcat的路径 可以看到jsp为一个Java文件
jsp的运行原理