import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.Writer;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.startup.Tomcat;
public class EmbeddedTomcatEx {
public static void main(String[] args) throws LifecycleException,
InterruptedException, ServletException {
Tomcat tomcat = new Tomcat();
tomcat.setPort(8082);
Context ctx = tomcat.addContext("/", new File(".").getAbsolutePath());
Tomcat.addServlet(ctx, "Embedded", new HttpServlet() {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Writer w = resp.getWriter();
w.write("Embedded Tomcat servlet.\n");
w.flush();
w.close();
}
});
ctx.addServletMapping("/*", "Embedded");
tomcat.start();
tomcat.getServer().await();
}
}
下面我们分段解释以上代码的作用:
```java
Tomcat tomcat = new Tomcat();
tomcat.setPort(8082);
Tomcat在端口8082上启动
Context ctx = tomcat.addContext("/", new File(".").getAbsolutePath());
每个应用程序都映射到上下文。使用该addContext()
方法,我们创建了一个不是JSP文件且没有web.xml
文件的应用程序。我们使用根上下文路径和文档库的当前工作目录。
Tomcat.addServlet(ctx, "Embedded", new HttpServlet() {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Writer w = resp.getWriter();
w.write("Embedded Tomcat servlet.\n");
w.flush();
w.close();
}
});
addServlet()
方法添加了一个新的servlet 。servlet中使用流响应一些文本。
ctx.addServletMapping("/*", "Embedded");
servlet mappping控制如何访问名为Embedded的servlet。对于我们的示例,任何URL最终都会调用我们的servlet。
tomcat.start();
tomcat.getServer().await();
最后Tomcat服务器启动。
服务器正在侦听端口8082,因此在Web浏览器中键入以下URL:
http://localhost:8082/
你就可以看到对应的效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KubMAA9x-1630941517911)(1.png)]
文末
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家
这里笔者分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》
【视频教程】
天道酬勤,只要你想,大厂offer并不是遥不可及!希望本篇文章能为你带来帮助,如果有问题,请在评论区留言。
】
[外链图片转存中…(img-94dw0hJC-1630941517917)]
天道酬勤,只要你想,大厂offer并不是遥不可及!希望本篇文章能为你带来帮助,如果有问题,请在评论区留言。