J2EE(八)——myeclipse开发servlet

myeclipse开发servlet:基础具体在http://www.cnblogs.com/xdp-gacl/p/3760336.html

值得一提的是:如果以前用myeclipse开发了一个servlet,后来不想要了删除了java文件,重新建一个同名servletjava文件会报已存在错误,因为没有在xml中删除对应代码块.

 

同一个servlet可以映射到多个URL,即可以有多个不同的url-pattern和相同的servlet-nameservlet-class.这样访问不同的URL也可以访问到同一个servlet

Mapping里的url-pattern也可以使用通配符/*或者*.扩展名,如在web.xml上配置

<servlet>

 

     <servlet-name>MyFirstServlet</servlet-name>

 

    <servlet-class>myz.MyFirstServlet</servlet-class>

 

</servlet>

 

<servlet-mapping>

 

    <servlet-name>MyFirstServlet</servlet-name>

 

    <url-pattern>/*</url-pattern>

 

</servlet-mapping>

 

同理<url-pattern>*.do</url-pattern>可得到

 

 

如果有<url-pattern>/*</url-pattern><url-pattern>/abc/*</url-pattern>那访问localost/abc/kk就会使用第二个<url-pattern>,原理就是,谁长得像就用谁

 

四、web.xml中对某个配置如下代码

<servlet>

    <servlet-name>AcceptUserInfoServlet</servlet-name>

    <servlet-class>myServlet.AcceptUserInfoServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

 

其中 <load-on-startup>1</load-on-startup>表示servletinit并装载的顺序为1.用于给多个servlet的启动排序

 

五、有时候新建的servlet有很多注释和不想要的内容,我们可以修改servlet的模板,\myeclipse10.7\Common\plugins\com.genuitec.eclipse.wizards.xxxx.jar目录下,用解压工具打开这个jar文件,打开templates文件夹,编辑Servlet.java文件到自己想要的模板即可。

 

 

六、新建一个servlet,在web.xml的中配置参数,即在<servlet></servlet>中添加:

<init-param>

     <param-name>encoding</param-name>

     <param-value>utf-8</param-value>

</init-param>

即给该servlet添加了一个属性,属性名为encoding,属性值为utf-8,添加多个属性需添加多个<init-param>。

servletdoPost上可以利用该encoding

 

String encoding = this.getServletConfig().getInitParameter("encoding");

response.setCharacterEncoding(encoding);

PrintWriter out = response.getWriter();

out.write("encoding= "+encoding);

 

访问该servlet

 

当然,以上只是给一个servlet配置参数,如果要给该web应用下的所有servlet配备参数,需要在servlet节点外添加:

<context-param>

<param-name>time</param-name>

<param-value>23:11</param-value>

</context-param>

 

如果需要输出该servlet的所有属性值:

String encoding = this.getServletConfig().getInitParameter("encoding");

response.setCharacterEncoding(encoding);

Enumeration names = this.getInitParameterNames();

PrintWriter out = response.getWriter();

while(names.hasMoreElements()){

String name=(String) names.nextElement();

out.print(name+":");

out.println(this.getServletConfig().getInitParameter(name));

}

 

posted @ 2017-05-08 23:52  菜鸡蔡文姬  阅读(210)  评论(0编辑  收藏  举报