Servlet程序开发之永远的"Hello world"

实现要求

      如果要开发一个可以处理HTTP请求的Servlet程序,肯定是要继承HttpServlet类,而且在自定义的Servlet类中至少还有覆写HttpServlet类中提供的doGet()方法
protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException
我的项目结构如下:
在这里插入图片描述
简单的代码:

package com.jmi.servletdemo;

import java.io.*;//基本包写在扩展包之间
import javax.servlet.* ;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.* ;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		PrintWriter out = response.getWriter() ;
		out.println("<html>") ;
		out.println("<head><title>MLDNJAVA</title></head>") ;
		out.println("<body>") ;
		out.println("<h1>HELLO WORLD</h1>") ;
		out.println("</body>") ;
		out.println("</html>") ;
		out.close() ;
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

web.xml文件配置

      第一个servlet程序就已经开发完成了,基本上也就只剩下半口气了。那么接下来要进行配置,这个配置就是映射的配置。即:每一个servlet都必须通过web.xml文件进行映射的路径指定。

<servlet>
    <servlet-name>hello</servlet-name>//与servlet-mapping相对应
    <servlet-class>com.jmi.servletdemo.HelloServlet</servlet-class>//包.类名称
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/helloServlet</url-pattern>//指定访问路径
  </servlet-mapping>

      但是,此时的Tomcat必须重新启动以加载新的配置

      现在的程序主要功能是让servlet作为一个显示层的操作,但是Servlet基本上不会作为输出页面使用,因为实在是太不方便了,servlet将作为一些中间的控制逻辑层使用。
      对于servlet本身还有一个最有意思的特点,即:可以为一个servlet配置多个映射名称,只需要配置多个即可

<servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.jmi.servletdemo.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/helloServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello.asp</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello.zwk</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/zwk/*</url-pattern>
  </servlet-mapping>

      一个servlet可以映射多个名称,尤其是"*"这个路径,表示任意的名称均可。

      以上是我在视频学习后做的一点总结,大神勿喷。

猜你喜欢

转载自blog.csdn.net/YYxiaobao0726/article/details/86627533
今日推荐