servlet tomcat

1、
      (1)我们在http://localhost/ch06/welcome.html中定义了这么一个表单:
              <form action="com.hw.welcome" method="get">

请输入用户名:<input type="text" name="user"><p>
<input type="submit" value="提交">

</form>
               实际上当我们单击提交时,url变成了
               http://localhost/ch06/com.hw.welcome?user=“xxx”,既将数据传送给相应的servlet进行处理。

     (2)所以我们在web.xml必须声明了com.hw.welcome这个servlet,来看下:
     <!-- welcome -->
     <servlet>
             <servlet-name>mywelcome</servlet-name>
             <servlet-class>WelcomeYou</servlet-class>
     </servlet>
     <servlet-mapping>
               <servlet-name>mywelcome</servlet-name>
               <url-pattern>/com.huawei.welcome</url-pattern>
     </servlet-mapping>
                 上面的声明是正确的,所以“在web.xml必须声明了com.hw.welcome这个servle”这句话是不确切的,因为我们声明的servlet的名字并不是com.hw.welcome,而是mywelcome;
                所以,确切的说,应该是”我们必须在web.xml中声明了具有 和Action所指定的值相同的<url-pattern>的servlet“。
 (3)我们知道,本质上我们都是通过浏览器来访问servlet的,它的查找顺序如下:
            <url-pattern>------------- <servlet-name>------------------<servlet-class>
           既通过url最后找到了所要调用的servlet类。
2、Servlet容器是通过Java的反射API来创建Servlet实例,调用的是Servlet的默认构造函数,也就是不带参数的构造函数,所以我们在编写Servlet类的时候,不应该提供带参数的构造函数

3、个人觉得把
       <servlet-name>设置为<servlet-class>的类名是一个好的习惯。

4、out.close()用来关闭输出流对象,一旦关闭,响应将被提交。

5、在%CATALINA_HOME%\conf\[enginename]\[hostname]\目录下建立的XML文件的文件名将作为Web应用程序的上下文路径,不管你在属性path中指定的上下文路径是什么。----至少在笔者6.0.33版本如此。

6、
       (1)将一个web应用程序打包成war包:
       cmd到该应用程序的根目录下(如ch06目录),运行命令:
       jar -cvf ch06.war *
       (2)查看war包中的内容:
      jar -tf ch06.war   也可以使用WinRAR查看
       (3)javac -d CounterServlet.java
           使用-d选项,会按照Java源文件中定义的包的层次生成对应的目录层次

7、如果在XML文档中使用了中文字符(注释除外),需要在XML文档的第一行XML声明中,指定该文档的编码为gb2312:
      <?xml version="1.0" encoding="gb2312" ?>

8、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值