[javaEE] Servlet的手动配置

时间:2020-12-17 03:44:38

一.Servlet

sun提供的一种动态web资源开发技术,本质上就是一段java小程序,可以将Sevlet加入到Servlet容器中

*Servlet容器 -- 能够运行Servlet的环境就叫做Sevlet容器 -- tomcat

*web容器 -- 能够运行web应用的环境就叫做web容器 -- tomcat

写一个类实现sun公司定义的Servlet接口

将写好的类配置到tomcat中

定义一个类MyServlet继承GenericServlet类,实现它的抽象方法service()

public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException

传递进来一个ServletResponse对象,调用ServletResponse对象的getWriter().write()方法,参数:文本

导入相关的包java.io  javax.servlet

命令行编译 javac MyServlet.java此时会报错误,servlet包找不到,因为这是tomcat下的包

命令行设置环境变量,set classpath=%classpath%;tomcat下lib中servlet包的位置

命令行编译 javac -d . MyServlet.java,带包编译

把编译后的包配置到tomcat下的web应用中

在web应用目录下新建WEB-INF目录

在WEB-INF目录下新建目录classes,目录lib , 文件web.xml

把类放到classes目录下

配置web.xml文件,配置<web-app>节点,

配置servlet <servlet>

配置Servlet名字 <servlet-name>

配置类的全路径名<servlet-class>

配置映射<serlet-mapping>

配置虚拟路径<url-pattern>

MyServlet.java

package com.tsh;
import java.io.*;
import javax.servlet.*;
public class MyServlet extends GenericServlet{
public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{
res.getWriter().write("taoshihan");
}
}

web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.tsh.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
</web-app>