设为首页收藏本站<<< 抵制 IE6 人人有责 >>>

鼎鼎新网

 找回密码
 立即注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

搜索
热搜: 活动乱码
查看: 52|回复: 2

如何配置一个servlet? [复制链接]


[至尊红钻1级]发帖数量≥10篇 [未点亮至尊黄钻]威望不足10点 [至尊蓝钻2级]在线时间≥5小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻9级]金币≥2000个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

  • TA的每日心情
    难过
    2011-11-10 07:42:21
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     等级: Rank: 7Rank: 7Rank: 7
     级别: 版主
     UID:  145   [未点亮普号显示]钻石不足100个
     威望:  0
     钻石:  0
     发贴: 17 (0)
     金币: 1000109  
     同城币: 0   充值
     贡献:  0
     积分: 1000126
     性别: I'm 火星人!
     阅读权限: 100
     在线时长: 5 小时
     注册:2011-11-6
     最后登录: 2011-11-10
    everXh||| 发表于 2011-11-9 14:20:17 |显示全部楼层 |          |
    首先从理论方面了解:
          从一个普通的java对象变成一个servlet,需要经过这么几步:
          step1: 构造这个普通的对象
          step2: 运行init方法,这个方法的主要目的:在init方法中,初始化servletconfig和servletcontext文件。
          step3: 运行service方法, 这个方法的主要目的:在service方法中,调用doGet或者是doPost方法,处理请求的业务逻辑是在doGet或者是doPost方法里处理的。
          step4: 运行destory方法,这个方法的目的: 这个servlet不用之后, 释放servlet占用的资源。
    实践方面:
            在实际的开发中,我们继承一个父类就可以了,这个父类把以上的几步都帮我们做好了,我们只需要重写doGet 或者是 doPost方法即可, 这个父类就是HttpServlet。
    即: public class TestServlet extends HttpServlet{
             ......
                       doPost(HttpServletRequest req,
                                   HttpServletResponse resp){
                               ........
                        }
              ......
             }
    然后, 把这个servlet配置到web.xml文件中, 以使请求能够找到这个servlet即可。
    即:
              <servlet>
                    <servlet-name>MyServlet</servlet-name>
                   <servlet-class>xx.xx.TestServlet </servlet-class>
              </servlet>
              <servlet-mapping>
                     <servlet-name>MyServlet</servlet-name>
                     <url-pattern>/test.do</url-pattern>
              </servlet-mapping>
    配置完成后,我们servlet发布到web服务器中; 服务器启动后, 在url中敲入:
    http://localhost:8080/myApplication/test.do
    TestServlet中的doGet或者doPost方法就会处理我们提交的请求。

    使用道具 举报

    
    [至尊红钻1级]发帖数量≥10篇 [未点亮至尊黄钻]威望不足10点 [至尊蓝钻2级]在线时间≥5小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻1级]金币≥10个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    该用户从未签到

     等级: Rank: 9Rank: 9Rank: 9
     级别: 管理员
     UID:  139   [未点亮普号显示]钻石不足100个
     威望:  0
     钻石:  0
     发贴: 19 (0)
     金币: 46  
     同城币: 0   充值
     贡献:  0
     积分: 65
     性别: I'm 火星人!
     阅读权限: 200
     在线时长: 6 小时
     注册:2011-11-6
     最后登录: 2011-11-10
    倪玉哲 发表于 2011-11-9 17:56:55 |显示全部楼层
    使用url进行提交(输入网址或者点击超链接或用js控制提交)为get方式,请求会转交到doGet方法上。使用Form的方式可以通过method属性控制为post或get

    使用道具 举报

    
    [至尊红钻1级]发帖数量≥10篇 [未点亮至尊黄钻]威望不足10点 [至尊蓝钻2级]在线时间≥5小时 [未点亮至尊绿钻]贡献度不足10点 [至尊紫钻1级]金币≥10个 [未点亮至尊粉钻]精华贴数不足5贴 [未点亮至尊黑钻]同城币不足8个

    该用户从未签到

     等级: Rank: 9Rank: 9Rank: 9
     级别: 管理员
     UID:  139   [未点亮普号显示]钻石不足100个
     威望:  0
     钻石:  0
     发贴: 19 (0)
     金币: 46  
     同城币: 0   充值
     贡献:  0
     积分: 65
     性别: I'm 火星人!
     阅读权限: 200
     在线时长: 6 小时
     注册:2011-11-6
     最后登录: 2011-11-10
    倪玉哲 发表于 2011-11-9 18:14:21 |显示全部楼层
    http请求有四种方式提交,分别是get、post、put、delete,分别对应servlet中的doGet、dpPost、doPut、doDelete四个函数,常用的是前两种。

    通过url提交请求都属于get方式,如:
    在浏览器中输入http://localhost:8080/login.jsp
    运行js:location.href='login.jsp'
    点击超链接等
    get方式的请求参数为在url后加?,name=value,多个参数用&分割,如http://localhost:8080/login.jsp?username=123&password=123,这个url将向后台提交两个参数

    post请求一般通过form表单提交,在form中定义input等元素,可以控制提交参数。

    post和get方式也可以混合提交,方法为在form的action中增加get参数,如:
    <form action="login.do?username=123" method="post">
    <input name="password"/>
    </form>
    提交表单后,username参数为get方式提交,password参数为post方式提交

    一般mvc框架都不区分这几种方式,统一用某个函数进行处理

    使用道具 举报

    主题浏览脚印 ( 共有 0 位会员浏览过该帖 )
    您需要登录后才可以回帖 登录 | 立即注册 人人连接登陆

    GMT+8, 2012-5-20 15:57 , Processed in 0.280904 second(s), 48 queries .

    Archiver|手机版|鼎鼎新网 ( 闽ICP备11017807号-1 )    鼎鼎新闻-ddxw.net腾讯QQ网页在线客服

    Powered by DDXW.NET! X2

    © 2001-2011 DDXW Inc. l=

    回顶部