嵌入式Servlet容器:
优点: 简单 便捷
缺点:默认不支持Jsp 优化定制比较复杂(使用定制器【serverProperties、WebServerFactoryCustomizer】);
外置Servlet容器
生成webapp:
方法1:
0)
1)
2)
3)
4)
5)修改地址
\src\webapp\WEB-IN\web.xml
6)apply
7)查看是否生成
服务器整合到IntelliJ IDEA
1)
2)
3)
4)名称
5)关联本地Tomcat
6)
7)
8)添加要部署的项目
9)应用apply
10)运行
点击查看 servlet版本与tomcat版本对应关系,各版本web.xml头信息写法
可能会遇到关于:javax/el/ELManager的错误 :点击查看解决方案
大概意思就是把idea对应的
el-api.jar (D:\Program Files\JetBrains\IntelliJ IDEA 2018.1.5\lib\rt\jasper2.1)
复制到-》
Tomcat(E:\tomcat\apache-tomcat-7-1\lib)下
11)结果
查看是否能访问JSP
1)创建jsp
2)重启项目 访问jsp
如果报错的话 按照上边第10步 替换文件
3)跳转success页面
1)页面href
<html>
<body>
<h2>JSP</h2>
<a href="/abc">success</a>
</body>
</html>
2)新建jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>成功!</h1>
<h3>${msg}</h3>
</body>
</html>
3)写映射Controller
@Controller
public class HelloController {
@GetMapping("/abc")
public String hello(Model model){
model.addAttribute("msg","自己放的信息");
return "success";
}
}
4)配置文件
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
5)点击:
跳转:
使用外部Servlet容器步骤:
- 创建一个war项目(创建好war项目的目录结构 )
- 将嵌入式的tomcat指定为provided
- 必须编写一个SpringBootServletInitializer的实现类 目的就是调用configure方法
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//传入SpringBoot的应用主程序
return application.sources(SpringBootWebJspApplication.class);
}
}
- 启动服务器