HttpServlet
HttpServlet的原理
HttpServlet抽象类中的(部分)方法
HttpServlet extends GenericServlet{
void service(ServletRequest request,ServletResponse responce){
*强转两个参数为http协议相关的类型。
*调用本类的servic(HttpServletRequest, HttpServletResponse)方法
}
void service(HttpServletRequest,HttpServletResponse)-->参数已经是Http协议相关的,使用起来就更加方便。
*它会通过request得到当前请求的请求方式,例如:GET或POST
*根据请求方式在调用doGet()或doPost()方法
void doGet(){...} -->重写
void doPost(){...} -->重写
}
原理图:

源码:
MyHttpServlet.java
package one.servlet; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class MyHttpServlet extends HttpServlet {
//**公有的请求方法
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//我们只需重写该方法即可
System.out.println("doPost()...");
}
}
如果在浏览器的地址栏中输入http://localhost:8080/XJS_Servlet1/MyHttpServlet 然后请求,会出现下图:

解决方法:在WebRoot文件下创建一个login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 路径要求:“/”开头+/项目名+/servlet路径(web.xml中url-pattern) -->
<form action="/XJS_Servlet1/MyHttpServlet" method="post">
<input type="submit" value="提交"/>
</form>
</body>
</html>
然后中浏览器地址栏中输入http://localhost:8080/XJS_Servlet1/login.html 再点击提交按钮,以post的方式请求服务器
请求一次,执行一次doPost()方法,结果如下:
doPost()...
doPost()...
自己直接创建一个servlet:直接继承了HttpServlet,还重写doGet()和doPost()方法

然后Next

然后就会自动为我们再web.xml文件中配置该FServlet的路径

HttpServlet的更多相关文章
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path解决方案
0.环境: win7系统,Tomcat9配置无误. 1.错误: 项目中某一.jps页面忽然出现错误,鼠标点上去为:The superclass "javax.servlet.http.Htt ...
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path。问题
JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Ja ...
- 错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
我们在利用Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on ...
- eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误
在Myeclispe部署项目后 报错 The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误 如果在M ...
- Servlet简介与Servlet和HttpServlet运行的流程
1.Servlet [1] Servlet简介 > Server + let > 意为:运行在服务器端的小程序. > Ser ...
- Servlet/JSP-03 HttpServlet
一. GenericServlet GenericServlet本身是一个抽象类,并且实现了Servlet和ServletConfig接口 其在内部定义了一个私有的ServletConfig类型的变量 ...
- ubuntu下eclipse遇到The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Ja ...
- servlet、genericservlet、httpservlet之间的区别
转自:http://blog.csdn.net/rat9912345/article/details/5161789 当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法 ...
- HttpServlet 详解(注!仿)
Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口 ...
- Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)
本篇记录了HttpServlet的实现过程,主要讲述了如何依赖Servlet,GenericServlet实现的原理. HttpServlet实现过程:1.是一个Servlet,继承自GenericS ...
随机推荐
- LeetCode第十二题-将数字转化为罗马数字
Integer to Roman 问题简介:将输入的int类型数字转化为罗马数字 问题详解:罗马数字由七个不同的符号表示:I,V,X,L,C,D和M 符号-数值 I - 1 V - 5 X -10 L ...
- 帆软报表(finereport) 折叠树
在进行展现数据时,希望模板的数据是可以动态折叠的,即点击数据前面的加号才展开对应下面的数据,可通过树节点按钮实现折叠树效果 实现思路: 1.这里建立一个内置数据集 添加数据 设置模板样式,添加颜色和对 ...
- 2017蓝桥杯第十题(k倍区间)
#include<iostream> #include<stdio.h> using namespace std; ; ],a[N]; int lowbit(int n){ r ...
- CentOS安装Supervisor
什么是Supervisor Supervisor是一个进程控制系统. 它是一个C/S系统,服务端是supervisord进程,控制端使用supervisorctl来进行控制启动进程.同时它也提供了一个 ...
- vue源码分析之new Vue过程
实例化构造函数 从这里可以看出new Vue实际上是使vue构造函数实例化,然后调用_init方法 _init方法,该方法在 src/core/instance/init.js 中定义 Vue.pro ...
- 【python】随机数用法
全文拷贝自:Python随机数用法 random.seed(int) 给随机数对象一个种子值,用于产生随机序列. 对于同一个种子值的输入,之后产生的随机数序列也一样. 通常是把时间秒数等变化值作为种子 ...
- ansible的tests
Ansible的tests : 路径 /usr/lib/python2.7/site-packages/ansible/plugins/test core.py # failure testing ' ...
- RabbitMQ 学习日记
RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较 http://www.rabbitmq.com/tutorials/tutorial-one-dotnet ...
- 自学华为IoT物联网_07 物联网安全
点击返回自学华为IoT物流网 自学华为IoT物联网_07 物联网安全 1. 物联网安全的事件 事件1: 特斯拉事件 车载终端被入侵,通过CAN总线命令可远程控制车辆启停: 本地关键信息存储未做保护,印 ...
- Hibernate使用sql语句实现多表关联查询
/** * <查找list> * * @return 返回页面需要显示的数据 */ @SuppressWarnings("unchecked") public List ...