您的位置:首页 > 编程语言 > Java开发

深入学习SSH框架《二:java编程式配置servlet和使用web.xml部署描述符配置servlet》

2017-03-05 22:16 281 查看
上一篇文章深入学习了Servlet的工作原理,这一篇我们来实现servlet构建web应用。

下面进入正文:


1.使用web.xml来配置servlet,这是最常用也是最简单的方式。

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>Servlet的名字(自定义)</servlet-name>
<servlet-class>Servlet的类名(完整路径,如com.taobao.Servlet)</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Servlet的名字(与上面的一致)</servlet-name>
<url-pattern>映射路径(如:/login)</url-pattern>
</servlet-mapping>
</web-app>
2.使用java编程式来配置启动servlet。

我们必须实现ServletContextListener这个类,因为这个类会监听servlet的初始化,因此我们可以在它的contextInitialized方法中注册servlet(不仅仅是servlet,我们也可以注册监听器,和过滤器)。

package indi.jack.chapter1.ServletCotext;

import javax.servlet.FilterRegistration.Dynamic;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRegistration;
import javax.servlet.annotation.WebListener;

/**
* <p>Title:ServletStartup</p>
* <p>Description:</p>
* <p>Company:</p>
* @author jackhoo
* @date   2017年3月5日 上午10:12:01
*/
@WebListener
public class ServletStartup implements ServletContextListener{

@Override
public void contextDestroyed(ServletContextEvent arg0) {

}

@Override
public void contextInitialized(ServletContextEvent arg0) {
ServletContext context=arg0.getServletContext();
ServletRegistration myservlet=context.addServlet("hello", "indi.jack.chapter1.Servlet.HelloServlet");
myservlet.addMapping("/hello");
System.out.println("手动注册servlet完成!");
}

}

3.附上源代码地址

github项目地址

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: