java web servlet

             Servlet3.0后支持 注解配置           GenericServlet            HttpServlet

 安装tomcat   进入idea  编辑结构选择tomcat Servlet     然后即可创建 web项目 

    application context 成为 虚拟目录  就是 访问时 在端口后需要加的路径 然后再是url匹配

     80端口可以不写  默认是http 端口

1.创建一个servlet app  后        2.在src下创建一个类 实现   Servlet  

    public class serveletDemo01 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException   初始化方法只执行一次创建Servlet

    @Override
    public void service() throws ServletException, IOException {     客服端每次访问执行 处理 业务逻辑
        System.out.println("Hello world !");}

    @Override
    public void destroy()      Servlet 关闭前执行一次

  2.配置文件

    <servlet>
        <servlet-name>demo01</servlet-name>
        <servlet-class>servelet.serveletDemo01</servlet-class>
        <load-on-startup>-1</load-on-startup>   默认是-1
    </servlet>
    <servlet-mapping>
        <servlet-name>demo01</servlet-name>
        <url-pattern>/demo01</url-pattern>
    </servlet-mapping>

   3.执行原理

     1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
     2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。   如果有,则在找到对应的<servlet-class>全类名
     4. tomcat会将字节码文件加载进内存,并且创建其对象 , 调用其方法

 4.配置init 执行时间    load-on- startup   默认配置 -1在 第一次访问时 执行    0-10为在服务启动时执行  

Servlet3.0后支持 注解配置

     创建Java enterprise 时    javaee选择 6 以上  web application 勾选后 去掉创建 web.xml配置文件

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface WebServlet {
    String name() default "";
    String[] value() default {};      value一般是注解中最重要的这里就是url   代表urlPatterns()属性配置 
    String[] urlPatterns() default {};  相当于<url-pattern>
    int loadOnStartup() default -1;...}  相当于<load-on-startup>
@WebServlet(urlPatterns = {"/demo"})
public class ServletDemo implements Servlet {

        urlPatterns = {"/demo"}  数组只有一个值时可以简写 urlPatterns = "/demo"  而value默认指的是 url 所有可以写为

        value = "/demo"   而value 只有一个值是 又可以简写   为  "/demo"

4.IDEA与tomcat的相关配置
    1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件
        * 查看控制台的log:Using CATALINA_BASE:   "C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"

    2. 工作空间项目    和     tomcat部署的web项目
        * tomcat真正访问的是“tomcat部署的web项目”,"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源
        * WEB-INF目录下的资源不能被浏览器直接访问。
    3. 断点调试:使用"小虫子"启动 dubug 启动

GenericServlet

是Servlet  的子类  抽象类   可以只重写一个方法就可以了

    public class GenericServletDemo extends GenericServlet {
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("putong de ");
    }}

HttpServlet

  是GenericServlet的 子类 抽象类            1. 定义类继承HttpServlet    2. 复写doGet/doPost方法 就可以了

 urlpartten:Servlet访问路径
       1. 一个Servlet可以定义多个访问路径 : @WebServlet({"/d4","/dd4","/ddd4"})      支持正则
       2. 路径定义规则: 1. /xxx:路径匹配         2. /xxx/xxx:多层路径,目录结构         3. *.do:扩展名匹配 不能写/ 报错  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值