郑州网站建设维护,做推广的网站需要注意什么,小学网站logo怎么做,哪些网站可以免费看剧目录 1.Servlet介绍
1.1什么是Servlet
1.2Servlet的使用方法
1.3Servlet接口的继承结构
2.Servlet快速入门
2.1创建javaweb项目
2.1.1创建maven工程 2.1.2添加webapp目录
2.2添加依赖
2.3创建servlet实例
2.4配置servlet
2.5设置打包方式
2.6部署web项目
3.servl…目录 1.Servlet介绍
1.1什么是Servlet
1.2Servlet的使用方法
1.3Servlet接口的继承结构
2.Servlet快速入门
2.1创建javaweb项目
2.1.1创建maven工程 2.1.2添加webapp目录
2.2添加依赖
2.3创建servlet实例
2.4配置servlet
2.5设置打包方式
2.6部署web项目
3.servlet的生命周期
3.1什么是servlet的生命周期
3.2servlet生命周期中重要的方法
3.3tomcat服务器内部执行代码的原理 3.4测试servlet的声明周期 1.Servlet介绍
1.1什么是Servlet Servlet是Server Applet的简称是用Java编写的是运行在 Web 服务器上的程序它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet可以收集来自网页表单的用户输入呈现来自数据库或者其他源的记录还可以动态创建网页。
1.2Servlet的使用方法
Servlet技术的核心是Servlet接口定义了Servlet与Servlet容器之间的契约Servlet容器将Servlet类载入内存生成Servlet实例并调用它具体的方法所以它是所有Servlet类必须直接或者间接实现的一个接口。
1.3Servlet接口的继承结构 Servlet接口只负责定义Servlet程序的访问规范 GenericServlet抽象类实现了Servlet接口做了很多空实现并持有一个ServletConfig类的引用并提供了一些ServletConfig的使用方法 HttpServlet抽象类实现了service方法并实现了请求分发处理
2.Servlet快速入门
2.1创建javaweb项目
2.1.1创建maven工程 2.1.2添加webapp目录 1右击项目选择Add Frameworks Support (2)选择Web Application再点击OK (3)将web目录拖拽到main目录下并改名为webapp webapp静态资源比如 html css js可以定义在web下面 WEB-INF里面的资源不能直接被外界访问 web.xml 是web项目的核心配置文件 index.jspweb项目的访问首页在默认情况我们访问的首页就是index.jsp
2.1.3idea没有此选项问题
但有的新版idea右击项目没有这个需要自己添加。 然后点击右下角的这个按钮即可 2.2添加依赖 在pom.xml添加依赖
dependencygroupIdjavax.servlet/groupIdartifactIdservlet-api/artifactIdversion2.5/version
/dependency
2.3创建servlet实例
创建一个.java实现Servlet接口
package com.by.servlet;import javax.servlet.*;
import java.io.IOException;
public class HelloServlet implements Servlet {Overridepublic void init(ServletConfig servletConfig) throws ServletException {}Overridepublic ServletConfig getServletConfig() {return null;}Overridepublic void service(ServletRequest req, ServletResponse servletResponse) throws ServletException, IOException {servletResponse.setContentType(text/html;charsetutf-8);servletResponse.getWriter().write(h1helloh1);}Overridepublic String getServletInfo() {return null;}Overridepublic void destroy() {}
}
2.4配置servlet
找到Wab.xml进行配置
!--配置Servletservlet-name:servlet的名称servlet-classservlet的全类名url-pattern 访问servlet的url--
servletservlet-namehello/servlet-name!-- servlet-name要和servlet-mapping所对应映射的关系--servlet-classcom.by.servlet.HelloServlet/servlet-class
/servletservlet-mappingservlet-namehello/servlet-nameurl-pattern/hello/url-pattern
/servlet-mapping servlet-name:servlet的名称 servlet-classservlet的全类名 url-pattern 访问servlet的url
servlet-name必须一样
注解方式配置
WebServlet(/hello)
public class HelloServlet implements Servlet {}
2.5设置打包方式
修改pom.xml 2.6部署web项目
①点击“Edit Configurations” ②点击 ③点击Tomcat Server中的Local ④配置Tomcat路径 ⑤部署web项目 ⑥启动tomcat 3.servlet的生命周期
3.1什么是servlet的生命周期
Servlet的生命周期就是servlet类对象什么时候创建?什么时候调用对应的方法什么时候销毁。
对象的生命周期:
Student student new Student(); //创建对象
student.setName(eric); // 使用对象
student.show();// 使用对象
student null; // 销毁对象
也就是说自定义对象的生命周期由我们程序员自己手动控制。但是Servlet它不是一个普通的java类。是一个被tomcat服务器调用的。所以Servlet是生命周期是被tomcat服务器去控制的。
3.2servlet生命周期中重要的方法 构造方法创建servlet的时候调用。默认情况下第一次访问servlet的时候会创建servlet对象。此时会有且只会调用1次构造函数证明了servlet对象是单实例的。 init方法创建完servlet对象之后调用也只是会调用1次。 service方法提供服务的方法接收用户的请求并处理用户的请求然后响应用户的请求。每次发送请求都会调用service方法。调用几次service方法会执行几次。 destroy方法销毁的方法。销毁servlet对象的时候调用。比如我们停止tomcat服务器或者重新部署tomcat服务器都会销毁servlet对象只会调用1次。
3.3tomcat服务器内部执行代码的原理
1、用户发送请求tomcat服务器会根据用户发送的请求解析web.xml配置文件获取servlet-class的全限定名路径(com.by.servlet.ServletDemo)
2、获取字节码对象,然后通过字节码对象获取对应的实例对象
Class clazz Class.forName(com.by.servlet.ServletDemo);
Object o clazz.newInstance();
3、创建ServletConfig对象然后调用init方法
Method method clazz.getDeclaredMethod(init,ServletConfig.class);// 获取方法对象
method.invoke(o,config);
4、创建request对象创建response对象然后调用service方法
Method m clazz.getDeclaredMethod(service,ServletRequest.class,ServletResponse.class);
m.invoke(o,request,response);
5、销毁servlet实例对象也是通过反射的机制实现的
Method m1 clazz.getDeclaredMethod(destroy,null);
m1.invoke(o,null); 3.4测试servlet的声明周期
public class LifeCycleServlet implements Servlet {public ServletDemo(){System.out.println(LifeCycleServlet has run........);}Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println(init method has run........);}Overridepublic ServletConfig getServletConfig() {return null;}Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(service method has run........);}Overridepublic String getServletInfo() {return null;}Overridepublic void destroy() {System.out.println(destroy method has run........);}
}
文章转载自: http://www.morning.wskn.cn.gov.cn.wskn.cn http://www.morning.cnprt.cn.gov.cn.cnprt.cn http://www.morning.fsnhz.cn.gov.cn.fsnhz.cn http://www.morning.jqlx.cn.gov.cn.jqlx.cn http://www.morning.hkysq.cn.gov.cn.hkysq.cn http://www.morning.nhzxd.cn.gov.cn.nhzxd.cn http://www.morning.yzsdp.cn.gov.cn.yzsdp.cn http://www.morning.kfwrq.cn.gov.cn.kfwrq.cn http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn http://www.morning.kdrly.cn.gov.cn.kdrly.cn http://www.morning.nkqxb.cn.gov.cn.nkqxb.cn http://www.morning.fswml.cn.gov.cn.fswml.cn http://www.morning.qncqd.cn.gov.cn.qncqd.cn http://www.morning.zgpgl.cn.gov.cn.zgpgl.cn http://www.morning.wfjrl.cn.gov.cn.wfjrl.cn http://www.morning.jncxr.cn.gov.cn.jncxr.cn http://www.morning.hqpyt.cn.gov.cn.hqpyt.cn http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn http://www.morning.mkczm.cn.gov.cn.mkczm.cn http://www.morning.wztlr.cn.gov.cn.wztlr.cn http://www.morning.blfgh.cn.gov.cn.blfgh.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn http://www.morning.rfdqr.cn.gov.cn.rfdqr.cn http://www.morning.hxlch.cn.gov.cn.hxlch.cn http://www.morning.qhmgq.cn.gov.cn.qhmgq.cn http://www.morning.sflnx.cn.gov.cn.sflnx.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.mljtx.cn.gov.cn.mljtx.cn http://www.morning.mpngp.cn.gov.cn.mpngp.cn http://www.morning.shyqcgw.cn.gov.cn.shyqcgw.cn http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn http://www.morning.gqtzb.cn.gov.cn.gqtzb.cn http://www.morning.dtfgr.cn.gov.cn.dtfgr.cn http://www.morning.fhxrb.cn.gov.cn.fhxrb.cn http://www.morning.dmldp.cn.gov.cn.dmldp.cn http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn http://www.morning.rxhs.cn.gov.cn.rxhs.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn http://www.morning.mqzcn.cn.gov.cn.mqzcn.cn http://www.morning.tcfhs.cn.gov.cn.tcfhs.cn http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn http://www.morning.hrzymy.com.gov.cn.hrzymy.com http://www.morning.c7491.cn.gov.cn.c7491.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.xlclj.cn.gov.cn.xlclj.cn http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn http://www.morning.yxbrn.cn.gov.cn.yxbrn.cn http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn http://www.morning.pngfx.cn.gov.cn.pngfx.cn http://www.morning.wwjft.cn.gov.cn.wwjft.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn http://www.morning.krjrb.cn.gov.cn.krjrb.cn http://www.morning.qfkdt.cn.gov.cn.qfkdt.cn http://www.morning.lffrh.cn.gov.cn.lffrh.cn http://www.morning.tbbxn.cn.gov.cn.tbbxn.cn http://www.morning.trrpb.cn.gov.cn.trrpb.cn http://www.morning.thzgd.cn.gov.cn.thzgd.cn http://www.morning.lclpj.cn.gov.cn.lclpj.cn http://www.morning.nlryq.cn.gov.cn.nlryq.cn http://www.morning.ljllt.cn.gov.cn.ljllt.cn http://www.morning.qpqwd.cn.gov.cn.qpqwd.cn http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn http://www.morning.gxcym.cn.gov.cn.gxcym.cn http://www.morning.pndhh.cn.gov.cn.pndhh.cn http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn http://www.morning.nlkjq.cn.gov.cn.nlkjq.cn http://www.morning.pshtf.cn.gov.cn.pshtf.cn http://www.morning.skrww.cn.gov.cn.skrww.cn http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn http://www.morning.bbrf.cn.gov.cn.bbrf.cn http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn http://www.morning.qbdqc.cn.gov.cn.qbdqc.cn http://www.morning.bfmq.cn.gov.cn.bfmq.cn http://www.morning.wsxly.cn.gov.cn.wsxly.cn http://www.morning.prsxj.cn.gov.cn.prsxj.cn http://www.morning.tgczj.cn.gov.cn.tgczj.cn http://www.morning.wfyzs.cn.gov.cn.wfyzs.cn