实现一个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类了,在编译器直接运行是不会显示这个类的,默认的是显示Index.jsp页面,我们需要在端口号后面加上这个servlet类的路径
比如我这个servlet类的名字是one,那么我的ip就是
http://localhost:8080/one
教材上基本上都是第一种方法,啰里啰嗦的对新手很不友好,新手可以先玩第二种再去尝试第一种