Eclipse新建Servlet时候,不会自动生成mapping到web.xml,而是在代码中加入注解@WebServlet
2016-04-06 23:10
1006 查看
现象:
用Eclipse新版本新建servlet时候,发现创建Servlet后,Eclipse不会自动在web.xml中生成该Servlet对应的mapping信息,而是在Servlet代码中加入注解@WebServlet,如下
分析:
查找文档发现,这是Servlet3.0新特性(得Tomcat7.0版本及以上),@WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性(以下所有属性均为可选属性,但是 value 或者 urlPatterns 通常是必需的,且二者不能共存,如果同时指定,通常是忽略 value 的取值)
解决方法:
在@WebServlet 中定义Servlet的name、urlPatterns等信息
Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。
像上面的LoginAction可以描述成@WebServlet(name="LoginAction",value="/LoginAction")。
也定义多个URL访问:
如@WebServlet(name="LoginAction",urlPatterns={"/LoginAction","/LoginAction2"})
或者@WebServlet(name="LoginAction",value={"/LoginAction","/LoginAction2"})
这样的简化形式也可以,相当于设置了name和urlPattern
@WebServlet("/servlet/LoginAction")
在新建Servlet时候在URL mapping中可以直接输入
用Eclipse新版本新建servlet时候,发现创建Servlet后,Eclipse不会自动在web.xml中生成该Servlet对应的mapping信息,而是在Servlet代码中加入注解@WebServlet,如下
分析:
查找文档发现,这是Servlet3.0新特性(得Tomcat7.0版本及以上),@WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性(以下所有属性均为可选属性,但是 value 或者 urlPatterns 通常是必需的,且二者不能共存,如果同时指定,通常是忽略 value 的取值)
解决方法:
在@WebServlet 中定义Servlet的name、urlPatterns等信息
import javax.servlet.annotation.WebInitParam; import javax.servlet.annotation.WebServlet; @WebServlet( displayName = "This is Login Action", //描述 name = "LoginAction", //servlet名称 urlPatterns = { "/servlet/LoginAction" },//url loadOnStartup = 1, //启动项 initParams = { @WebInitParam(name = "username", value = "张三") }//初始化参数 ) public class LoginAction extends HttpServlet { /** * Constructor of the object. */ public LoginAction() { super(); } }
Servlet的访问URL是Servlet的必选属性,可以选择使用urlPatterns或者value定义。
像上面的LoginAction可以描述成@WebServlet(name="LoginAction",value="/LoginAction")。
也定义多个URL访问:
如@WebServlet(name="LoginAction",urlPatterns={"/LoginAction","/LoginAction2"})
或者@WebServlet(name="LoginAction",value={"/LoginAction","/LoginAction2"})
这样的简化形式也可以,相当于设置了name和urlPattern
@WebServlet("/servlet/LoginAction")
在新建Servlet时候在URL mapping中可以直接输入
相关文章推荐
- java-WEB中的监听器Lisener
- GUI - Web前端开发框架
- Extjs4.0 最新最全视频教程
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘
- Erlang实现的一个Web服务器代码实例
- 防止网页脚本病毒执行的方法-from web
- 自学成才的秘密:115个 web Develop 资源
- 使用批处理修改web打印设置笔记 适用于IE
- Apache Web让JSP“动”起来
- web下载的ActiveX控件自动更新
- 推荐六款WEB上传组件性能测试与比较第1/10页
- 关于三种主流WEB架构的思考
- 使用 Iisext.vbs 列出 Web 服务扩展文件的方法
- 使用 Iisext.vbs 删除 Web 服务扩展文件的方法
- 使用 iisext.vbs 禁用 Web 服务扩展的方法
- 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
- web标准知识——从p开始,循序渐进
- web标准知识――用途相似的标签