实现一个Servlet程序

Posted 西红柿里没有番茄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现一个Servlet程序相关的知识,希望对你有一定的参考价值。

 

 

  Servlet的概念就不写了,就是一个组件的地位。刚开始学jsp的时候跳过了挺多基础的东西,现在有机会重新撸一遍细节,还是打算把这些过程记录下来。

  实现Servlet程序总的来说有两种实现方式:

  第一种是直接编写java程序,编译完之后打开tomcat服务器,然后在浏览器中通过地址运行这个Servlet程序。(这里涉及的点挺多的,新手去操作这个玩法如果基础不是很好的话可能会犯晕,首先得把Servlet的jar包添加到本地的classpath中,然后得通过命令行的javac对编写好的java类进行编译,再讲编译好的文件放到Tomcat的webapps目录中,然后又要手写一个xml文件。总之是非常麻烦的,而且说实话写这玩意对咱们写项目也没啥关系,所以就不记录具体步骤了)

  主要是记录第二种,我是通过编译器写的(我用的是intellij idea,用eclipse步骤也是一样的),省去了很多步骤,配置环境这些步骤就不需要了,编译器会替我们完成的,我们只要负责代码实现和程序运行这两个步骤就行了。

 

 首先是代码实现:创建好一个jsp文件后,在src目录下创建一个类(类文件都是放在这个目录下的)

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class one extends GenericServlet{


    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

        PrintWriter out = servletResponse.getWriter();
        out.print("165757");


    }
}

 

 然后是配置xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
           version="3.0">
<servlet>
    <servlet-name>myname</servlet-name>
    <servlet-class>
        one
    </servlet-class>

</servlet>

    <servlet-mapping>
        <servlet-name>myname</servlet-name>
        <url-pattern>/one</url-pattern>
    </servlet-mapping>
</web-app>

 黄色背景的就是添加的servlet的配置,另外这里有几个点比较容易忽视

1、<servlet-name>和<servlet-mapping>中的名字是相同的,好多人刚开始配置没注意到这里编译器会一直报错,把名字改成相同的就行,这里的名字是自定义的

2、<url-pattern>的路径记得加/

 

教材上基本上都是第一种方法,啰里啰嗦的对新手很不友好,新手可以先玩第二种再去尝试第一种

 

以上是关于实现一个Servlet程序的主要内容,如果未能解决你的问题,请参考以下文章

Java基础——JSP

Servlet笔记6--Servlet程序改进

servlet和filter的区别

servlet,filter,listener,intercepter区别

servlet,过滤器,监听器,拦截器的区别

jsp页面被tomcat引擎运行的时候组装成java片段,但是这些java片段怎么没有main方法作为程序的入口啊?