web 项目开发的步骤、Servlet合并、请求资源路径求解

8 篇文章 0 订阅

一、开发web项目的步骤:

     1:创建web project
     2:导入第三方jar(连接池,mysql)包,和数据库相应的脚本文件等
     3:添加配置文件,db.properties
     4:编写工具类,DBUtil等
     5:根据Dao思想编写相应代码
        包含:
        实体类,接口,实现类
     6:编写业务层的代码----(M层:model,包含持久层和业务层)
     7:编写Servlet组件。(C层:controller,控制层)    
     8:配置web.xml文件

二、测试部分:

   第一步:启动服务器tomcat
   第二步: 将项目部署到服务器上(代码更新,需要重新部署)
   第三步: 在浏览器上输入请求路径。
   

三、容器处理请求资源路径的问题:

     1:什么是请求资源路径??
                 http://localhost:8088/appName/xx.html;
               /appName/xx.html是请求资源路径。
    2:容器如何处理请求资源路径
           (1)浏览器通过IP,Port向容器发送请求,建立连接。
           (2)根据appName(部署名)找到服务器内对应的应用程序,再根据
                       xx.html去匹配web.xml中的<url-pattern>的值。 匹配成功后,去执行对应的web组件。
    3:精确匹配。
                容器在处理请求资源路径时,先会严格精确 的找<url-pattern>的值,如 请求资源  路径为:appName/addEmp.html,会先
        查找<url-pattern>的值有没有一个是addEmp.html; 如果有,就会执行相应的web组件
        (即使此时有addEmp.html页面,也不会显示页面)
  4:通配符匹配。
              *:可以匹配n个任何字符,  
            如果<url-pattern>的值为 /*,表示任何请求资源路径
            都会执行此web组件。
       reg:
                  http://ip:port/appName/abc
                 http://ip:port/appName/abc.html
                 http://ip:port/appName/abc/abc.html
  5:后缀匹配.
                如果<url-pattern>的值为 *.后缀,此时一定不能在*前添加"/"。
         当请求资源路径为此后缀的格式时,就会执行对   应的web组件
        reg:
                        <url-pattern>*.do<url-pattern>
        请求资源路径:
                   http://ip:port/appName/abc.do
                   http://ip:port/appName/abc/abc.do
  6:无匹配的servlet处理
       如果请求资源路径在web.xml中无任何匹配,那么就会查找 是否有此文件。如果有,将文件响应给浏览器,如果没有,
      报404错误。
        总结:三种匹配的优先级
            精确匹配>通配符匹配>后缀匹配
 

    四、Servlet组件的合并问题

       1:为什么要合并?
              因为Servlet组件充当的是控制器的角色,通过分析资源路径, 用来分发不同的资源。所以,一个Servlet组件
              就可以做到分发不同的资源。 
       2:如何合并?
             request.getRequestURI():此方法返回的 是请求资源路径,我们可以使用分支结构来进行控制
             资源的分发。
             reg:
             String path =request.getRequestURI();   
             if("/appName/listEmp.do").equals(path){
                 .........................................
             }else if(("/appName/deleteEmp.do").equals(path)){
                 ............................................
             }         
             
      

     

 

 

 

 
 
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值