手动写一个Servlet

一、做一个类,派生自HttpServlet

1.导两个包

javax.servlet.*;

javax.servlet.http.*

2.重写两个方法doGet,doPost

打开tomcat中的servlet-api.jar包,复制这两个方法的实现。

package com.itnba.maya.servlet;
import java.io.IOException;

import javax.servlet.*;//导入包
import javax.servlet.http.*;//导入包

public class TestServlet extends HttpServlet{//类的派生
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{//重写方法
        String s=request.getParameter("id");
        response.getWriter().write("this is first servlet"+"\t"+s);
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{//重写方法
        doGet(request, response);
    }

}

二、设置web.xml配置文件

找到tomcat/conf/web.xml,把根和相关的元素复制过去
<servlet></servlet>
<servlet-mapping></servlet-mapping>
调整元素的内容。

<?xml version="1.0" encoding="UTF-8"?>
<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>first</servlet-name>
        <servlet-class>com.itnba.maya.servlet.TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>//映射servlet
        <servlet-name>first</servlet-name>
        <url-pattern>/ttt</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

</web-app>

执行结果

在地址栏中输入ttt?id=hello,再次运行

时间: 2024-12-15 01:57:04

手动写一个Servlet的相关文章

原来热加载如此简单,手动写一个 Java 热加载吧

1. 什么是热加载 热加载是指可以在不重启服务的情况下让更改的代码生效,热加载可以显著的提升开发以及调试的效率,它是基于 Java 的类加载器实现的,但是由于热加载的不安全性,一般不会用于正式的生产环境. 2. 热加载与热部署的区别 首先,不管是热加载还是热部署,都可以在不重启服务的情况下编译/部署项目,都是基于 Java 的类加载器实现的. 那么两者到底有什么区别呢? 在部署方式上: 热部署是在服务器运行时重新部署项目. 热加载是在运行时重新加载 class. 在实现原理上: 热部署是直接重新

设计模式: 自己手动写一个代理模式

代理模式:为另一个对象提供一个替身或占位符以访问这个对象.代理模式为另一个对象提供代表,以便控制客户对对象的访问,管理访问的方式有许多种. 远程代理管理客户和远程对象之间的交互. 虚拟代理控制访问实例化开销大的对象. 保护代理基于调用者控制对对象方法的访问. 代理模式有许多变体,例如:缓存代理.同步代理.防火墙代理.写入时复制代理. Java内置的代理支持,可以根据需要动态创建代理,并将所有调用分配到所选的调用处理器(InvocationHandler). 下面 的例子是一种保护代理 类图: 源

设计模式: 自己手动写一个装饰者模式

装饰者模式:动态地将责任附加到对象上.若要扩展功能,装饰者提供l比继承更有弹性的替代方案.装饰者和被装饰者有相同的超类型,你可以用一个或多个装饰者包装一个对象.既然装饰者和被装饰者有相同的超类型,所以在任何需要原始对象(被装饰者)的场合,可以用装饰过的对象替换它.装饰者可以在所委托被装饰者的行为之前或之后加上自己的行为,已达到特定的目的.对象可以在任何时候被装饰,所以可以在运行时动态地.不限量地用你喜欢的装饰者来装饰对象. 类图: 源代码如下: package decorator; /** *

手动写一个上传图片的组件,不适用插件,包括限制图片大小,格式

1.html <ul class="uploadUl"> // 第一li用于回显图片,上传接口图片成功后通过canvas进行绘制回显图片. 第二个li 用于选择文件上传 <li style="display: inline-block" v-for="(src,index) in files"> <img @click="ImageToCanvas(src)" class='preview' :s

设计模式: 自己手动写一个状态模式

状态模式: 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类.状态模式将状态封装成独立的类,并将动作委托到代表当前状态的对象.状态模式使用组合通过简单引用不同的状态对象来造成类改变的假象. 状态模式和策略模式有相同的类图,但它们的意图不同,策略模式会用行为和算法来配置Context类.状态模式允许Context随着状态的改变而改变其行为. 源代码: </pre><pre name="code" class="java">pac

手动的写一个structs

为了更好的学习框架的运行机制,这里开始学习框架之前,介绍一个简单的自定义的框架. 需求: 登录:id:aaa,pwd:888登录成功之后,跳转到,index.jsp页面并显示,欢迎你,aaa 注册,页面,输入用户名密码,点击注册.注册成功之后,将会跳转到登录界面. 重在了解前后的这个逻辑,所以把后天是写死的. entity层 就一个User package cn.itcast.entity; public class User { private String name; private Str

写一个简单的servlet

昨天写完hibernate的小demo后,想写一个简单structs2,但是发现好像自己连servlet都忘了怎么写了,所以一切从头开始,先写一个简单servlet把 第一步 肯定是建立项目了,打开自己eclipse(myeclipse,sts,idea).然后file->new->java project.这里肯定会有疑问,为啥不建立一个web project呢.呃,原因很简单,因为要从头来,一切都从头来呗,web project里 web方面的属性都给配置好了,就起不到学习的作用了. 名字

手动实现一个简易版 tomcat(yet)

https://mp.weixin.qq.com/s?__biz=MzA5MzcxNjY4Ng==&mid=2648107477&idx=1&sn=237afdcd8dc67f3a36aac8a38fcaada9&chksm=887be074bf0c69627659d3f076420ba7d477bc08405437eafe4d99ed22e6d2f9a53c80a73d87&mpshare=1&scene=1&srcid=0606qoAMsGtii

[Servlet]如何编写一个Servlet

通过Eclipse或MyEclipse创建Servlet虽然简单,但我们并不知道相关代码是什么含义.所以,下面我们需要研究一下生成出来的代码. 首先, 我们来研究一下创建的Servlet文件源代码,会发现如下内容: 是继承于HttpServlet类. 包含init().doGet().doPost()和destroy()方法. 根据上述内容,我们可以手动创建一个Servlet的Java文件,如下面的代码所示: public class SecondServlet extends HttpServ