##WEB阶段 ## Tomcat服务器
WEB阶段
Tomcat服务器
今天是在基地学习两个月来第一次写博客,开始的很是艰辛,但是一旦开始,我一定会坚持下去,今天学习了Tomcat服务器,我打算把它记录下来。
目前最为流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器。
目录介绍
bin目录 存放运行tomcat服务器相关的命令 windows: 双击命令即可 启动tomcat: startup.bat 关闭tomcat: shutdown.bat conf目录 存放tomcat服务器相关的配置文件 例如:在tomcat服务器启动的时候,会绑定一些端口号,这些端口号就可以在配置文件server.xml文件中进行修改 lib目录 存放tomcat服务器自带的jar包,我们也可以把其他的一些jar包也存放到这 在tomcat中同时可以部署多个项目,这个多个项目可共享lib目录中的jar包 logs目录 存放tomcat服务器在运行过程中,所产生的日志文件 temp目录 存放tomcat服务器在运行过程中,所产生的临时文件 webapps目录
存放部署到tomcat服务器中的web项目,把项目部署服务器里面,其实就是放到这个目录下
work目录
这个目录和是jsp页面相关的
如何启动tomcat
注意:需要配置环境变量 JAVA_HOME
windows: 双击命令即可
启动tomcat: startup.bat
关闭tomcat: shutdown.bat
Unix: (注意文件的权限)
启动tomcat: startup.sh
关闭tomcat: shutdown.sh
端口问题
在server.xml中修改端口
web项目
俩个软件之间的信息交换,客户端机器中的浏览器软件和服务器端机器中的web服务器软件之间的交换,
比如在我们的学习中,就是客户端的浏览器和服务器端的tomcat进行信息交换。
浏览器和tomcat是俩个不同的软件,但是在开发这俩个软件的时候,都是加入对http协议的支持,所有它们俩个进行信息交换的时候,是通过http协议规定的方式进行交换的:客户端先发送一个请求,然后服务器端接收到请求后再返回给客户端一个响应,并且把客户端所请求的资源返回给客户端.
我们要做的时候就是,开发一个web项目,然后把这个web项目放到tomcat里面指的的位置,然后再运行这个tomcat软件,在tomcat运行过程中,其他计算机里面,只要是网络和我们这个服务器是通的,那么都可以通过浏览器来访问我们这个web项目。
1.新建一个静态web项目
2.新建一个动态web项目
项目名字:WebTest
文件夹WebTest,项目名字是随便起的
WebTest文件中有文件WEB-INF,WEB-INF这个名字是固定的
WEB-INF文件夹中:classes文件夹,lib文件夹,web.xml文件,这个名字都是固定的。
web.xml文件在tomcat目录中的conf目录里面有一个web.xml模板.
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import java.io.IOException; import java.io.PrintWriter; @WebServlet("/first") public class FristServletTest extends HttpServlet{ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{ PrintWriter out = resp.getWriter(); out.println("hello world"); out.flush(); out.close(); } } /* 注意: servlet-api.jar在tomcat的lib目录中 编译命令为: javac -cp servlet-api.jar -d . FristServletTest.java */
3.web项目资源介绍
静态资源
静态资源主要是指web项目中的css图片,或者是js等等资源
访问静态资源称为静态请求
动态资源
动态资源主要是指web项目中的特殊类或者jsp
访问动态资源称为动态请求
Servlet
1、servlet其实就是java里面的一种java类,只不过这种 java类有一些特殊作用,所以我们叫它servlet,servlet就是一个遵循java EE规范的一个类,在java中规范指的是接口或者是抽象类,在java中遵循规范指的就是实现接口或者继承抽象类
2、创建Servlet的三种方法
创建Servlet一共用三种方法:
(1)创建一个类实现Servlet接口,重写接口里的servlet方法
@WebServlet("/first") public class FirstServlet implements Servlet { @Override public void init(ServletConfig config) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { res.setContentType("text/html;charset=utf-8"); System.out.println("我太难了"); PrintWriter pw = res.getWriter(); pw.write("我太难了"); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } }
(2)继承GenericServlet
GenericServlet 抽象类解释:该类是一个抽象类,并且该类实现了servlet接口
设置格式为图片,创建一个数组用来存取读到的数据,用res.getOutputStream写读到的数据到网页,用字节输入流读图片:
@WebServlet("/second") public class SecondServlet extends GenericServlet { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { res.setContentType("image/jpeg;charset=utf-8"); byte[] bytes = new byte[1024]; ServletOutputStream os = res.getOutputStream(); FileInputStream fis = new FileInputStream(new File("E:\\briup-code\\eclipse-jee-oxygen-M5-win32-x86_64\\corejava-workspace\\jd1914-web\\src\\1.jpg")); int flag = -1; while((flag = fis.read(bytes)) != -1) { os.write(bytes, 0, flag); } os.flush(); } }
(3)继承HttpServlet,也随最常用的创建servlet的一种方式,重写doGet和dopost方法:
@WebServlet("/three") public class ThirdServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("video/mpeg4;charset=utf-8"); FileInputStream fis = new FileInputStream(new File("E:\\briup-code\\eclipse-jee-oxygen-M5-win32-x86_64\\corejava-workspace\\jd1914-web\\src\\1.今日内容.mp4")); ServletOutputStream os = resp.getOutputStream(); int flag = 0; byte[] bytes = new byte[2048]; while((flag = fis.read(bytes)) != -1) { os.write(bytes,0,flag); } os.flush(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }
- 点赞 1
- 收藏
- 分享
- 文章举报
- 解决IDEA已经引入tomcat jar包,HttpServletRequest还是红色报错问题(记录日志)
- TomCat快速入门
- Apache 和 tomcat 的整合
- 处理idea启动Tomcat控制台中文乱码问题
- 在CentOS7安装配置Java和Tomcat(gz压缩包方式)
- 在Linux查看tomcat日志的方法
- 深入剖析TOMCAT
- linux安装tomcat7
- Tomcat安装与配置图文教程
- idea创建web项目以及配置Tomcat
- Nginx+Tomcat 静态、动态分离
- Tomcat环境配置以及eclipse服务器配置
- Application可以运行tomcat部署404
- Tomcat settings should be set in Tomcat 4000 Preference Page
- 浅谈负载均衡之【tomcat分布式session共享】
- Tomcat使用线程池配置高并发连接
- IDEA WEB 基于 Tomcat 的servlet配置
- 在catalina.bat中设置tomcat的debug接口
- maven 发布war包到 tomcat
- org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method [manageApp]