servlet开发三种,get请求和post请求的区别

2 篇文章 0 订阅
2 篇文章 0 订阅

开发servlet三种方法

1.实现servlet接口

2.继承GenericServlet

3.继承HttpServlet



需求如下  请使用实现接口的方式,来开发一个Servelt,要求该Servlet可以显示hello,同时显示当前时间

步骤:

1.建立一个WEB应用web1

2.在web1下建立WEB-INF/web.xml (从ROOTWEB-INF/web.xml 下复制)

3.在WEB-INF下创建classes  lib目录

4.在WEB-INF/classes/创建一个servlet.java

 

Servlet  API资料下载

Destroy()

getServletConfig()

 

 

package com.hsp;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
 
class Myfirestservlet  implements Servlet
{
//该函数用于初始化Servlet,就是把该servlet装载到内容中
//该函数只会被调用一次
public void init(ServletConfig  config)
throws  ServletException{
        }
//得到ServletConfig对象
public ServletConfig getServletConfig(){
return null;
}
//该函该数是服务函数,我们的业务逻辑代码就是写在这里
//该函数每次都会被调用
public void  service(ServletRequest req,
ServletResponse  res)
 throws  ServletException ,
        java.io.IOException{
        }
//该函数得到servlet配置信息
public java.lang.String   getServletInfo(){
return null;
}
//销毁该servlet,从内存
public void destroy(){
}
}


法二:

继承GenericServlet的方法开发servlet(一般不用)

 

public class HttpExample extends GenericServlet{
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
arg1.getWriter().println("hello world");
}
}


法三:

继承httpServlet的方法来开发Servlet

(1)在软件公司90%都是通过该方法开发

(2)举例说明,还是显示hello world当前日期

package com.xiyou.geng;
import java.io.IOException;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 * Servlet implementation class MyGenricServlet
 */
 
@WebServlet("/MyGenricServlet")
public class HttpExample extends HttpServlet {
private static final long serialVersionUID = 1L;
    public HttpExample() {
        super();
         }
//在httpServlet中,设计者对POST提交和GET提交分别处理
    //回忆<from action="提交给?" method="post|get"/>默认是get
    //doget  dopost最终也调用了service方法
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     response.getWriter().println("i am doget");
    }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println("i am dopost"+request.getParameter("username"));//username是在login.html中
}
 
}
 


还有一个login.html文件

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/web_01/http"  method="post">
u:<input type="text" name="username">
<input type="submit" value="login"/>
</body>
</html>


通过HttpServlet去开发Servlet,需要重写doGet,doPost方法。这是目前用的最多的一种方法

表单提交数据get请求和post请求的区别

(1)从安全性看get 小于post,get提交的数据会在浏览器的地址栏显示

(2)从提交的内容大小看get小于post,get提交的数据不能大于2K,而破杀他提交的数据理论上不受限制,但是实际编程中建议不要大于64K

(3)从请求响应速度看:get 大于post,get要求服务器立即处理请求,而post请求可能形成一个队列请求



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、说一说Servlet的生命周期?★★★★★ 答: servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 2、servlet的生命周期 答: web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。 通过调用service()方法实现,根据请求的不同调用不同的do***()方法。 结束服务,web容器调用servlet的destroy()方法。 3、Servlet的基本架构 public class ServletName extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } 4、什么情况下调用doGet()和doPost()? 答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。 5、如何现实servlet的单线程模式★★ 答:<%@page isThreadSafe=false%> 面试中会遇到! 6、页面间对象传递的方法 答:request,session,application,cookie等 7、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是类servletServlet和JSP最主要的不同点在于,Servlet应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。 8、四种会话跟踪技术(重要考点)★★★★★ 答:会话作用域ServletsJSP 页面描述 page是代表与一个页面相关的对象和属性。 一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。 这既包括 servlet 又包括被编译成 servlet 的 JSP 页面。 request是代表与 Web 客户机发出的一个请求相关的对象和属性。 一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)。 session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求。 application是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值