1.web服务学习
1.1==web的作用==
1.1基于bs架构设计的应用,介于浏览器和服务区之间的应用,==浏览器==发送请求到==服务器==,服务区向==数据库==中请求数据
正在上传…重新上传取消
2.==http==协议
1.http超文本传输协议,用于==浏览器==和==web服务区==之间的==数据传输==
2.http传输有俩中方式比较经典
2.1请求一般包含,==请求行==(类似我们请求的url地址),==请求头==(结构类似于key:value形式),==请求体==
3.get和post请求比较经常使用
1.get请求,有请求行,请求头,==没有请求体==,把请求数据写入到url中,==有长度的限制==,用==&==隔开
2.post请求,有请求行,请求头,==有请求体==,把==数据放在请求体中==,==没有长度的限制==
3.tomcat
1.tomcat,web服务,server容器,开源免费,==server是一个容器依赖于tomcat启动==
2.tomcat中的文件作用,==bin用于保存jar包==,==conf用于配置文件信息==,==logs文件的日志信息==,==temp存储临时文件==
,==webapps放置部署文件==,==work临时文件放置==
正在上传…重新上传取消
3.webapps放置war包,会自动给我们解压
4.创建tomcat项目
正在上传…重新上传取消
1.选择maven项目,Create from archtype 中创建==mave==开头的==webapp==项目
正在上传…重新上传取消
2.点击加号选择创建tomcat项目,==name==,Tomcat的名称,==applictoin server==: tomcat的路径,==url== 访问URL的路径 port默认端口号
3.使用tomcat插件的方式,启动
5.tomcat访问方式
http;//localhost:8080/webapp/a.html
http://localhost:8080这个是tomcat服务
webapp是tomcat名称
a.html是具体文件名
6.serverlt生命周期
正在上传…重新上传取消
1.Servlet由谁创建?Servlet方法由谁调用? Servlet由web服务器创建,Servlet方法由web服务器调用. 2.服务器怎么知道Servlet中一定有service方法? 因为我们自定义的Servlet,必须实现Servlet接口并复写其 方法,而Servlet接口中有service方法
serverlt相当与tomcat的
1.serverlt的生命周期
==service==调用服务
init创建tomcat服务
destory销毁tomcat服务
serverInfo调用serverlt服务
2.问题
当调用destory会遇到启动立即终止的方式
在控制台中输入mvm tomcat启动
7.serverlt体系
Servlet方法介绍 初始化方法,在Servleti被创建时执行,只执行一次 void init(ServletConfig config) 提供服务方法,每次Servlet被访问,都会调用该方法 void service(ServletRequest req,ServletResponse res) 销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时销毁Servlet void destroy() 获取ServletConfig对象 ServletConfig getServletConfig() 获取Servlet信息 String getServletInfo()
1.==加载==的时候,当第一次调用服务urlParm调用服务的时候会创建servelt
2.实力化
3.销毁
@WebServlet(urlPatterns="/demo3",Loadonstartup 1) public class ServletDemo3 implements Servlet{ private ServletConfig config; /** *初始化方法 *1.调用时机:默认情况下,ServLet被第一次访问时,调用 LoadOnstartup: *2.调用次数:1次 dparam config athrows ServletException */八 QOverride public void init(ServletConfig config)throws ServletException this.configconfig; System.out.println("init..."); doverride public ServletConfig getservletConfig(){ return config;
Servlet体系结构 Servlet Servlet体系根接口 GenericServlet Servlet抽象实现类 HttpServlet 对HTTP协议封装的Servlet3实现类 @WebServlet("/demo4") public class ServletDemo4 extends HttpServlet{ QOverride protected void doGet(HttpServletRequest req,HttpServletResponse resp) 我们将来开发B/S架构的web项目,都是针对HTTP协议 //T0D06et请求方式处理逻辑 ,所以我们自定义Servlet,会继承HttpServlet Qoverride protected void doPost(HttpServletRequest req,HttpServletResponse resp) //T0D0Post请求方式处理逻辑
8.server中doGet和doPost方法
实现httpServer方法分别调用doPost和doGet方法
1.具体实现方式,通过request.getMethod()获取其中的对应调用的方法
2.判断是get还是post方式
QOverride public void service(ServletRequest req,ServletResponse res)throws ServletException,IOException //根据请求方式的不同,进行分别的处理 HttpServletRequest request (HttpServletRequest)req; //1.获取请求方式 String method request.getMethod(); //2.判断 if("GET".equals(method)){ //get方式的处理逻辑[ Felse if("POST".equals(method)) //post方式的处理逻辑
3.
<servlet> <servlet-name>demo13</servlet-name> //包名字 <servlet-class>com.itheima.web.ServletDemo13</servlet-class> //路径 </servlet> public class ServletDemo13 extends HttpServlet QOverride protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOExcepti System.out.println("demo13 get..."); QOverride protected void doPost(HttpservletRequest req,HttpServletResponse resp)throws ServletException,IOExcept