实验说明:

通过javax.servlet.http下的HttpServlet,HttpServletRequest,HttpServletResponse来完成一些常用Servlet实例

java代码部分

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.log("执行了doGet方法");
execute(request,response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.log("执行了doPost方法");
execute(request,response);
} public long getLastModified(HttpServletRequest request){
this.log("执行 getLastModified");
return -1;
} @SuppressWarnings("unused")
private void execute(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8"); StringBuffer requestURL=request.getRequestURL();//获取页面URL
String method=request.getMethod();//获取访问方法
String param=request.getParameter("param");//获取参数 response.setContentType("text/html");//设置文档类型是html
PrintWriter out=response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<html>");
out.println("<head><title>A Servlet</title></head><body>");
out.println("以"+method+"方式访问页面。获取的param参数为"+param+"</br>");
out.println("<form action='"+requestURL+"' method='get'>" +
"<input type='text' name='param' value='param String'/>" +
"<input type='submit' value='get'/></form>" +
""); out.println("<form action='"+requestURL+"' method='post'>" +
"<input type='text' name='param' value='param String'/>" +
"<input type='submit' value='post'/></form>" +
""); out.println("<script>document.write('本页面最后更新时间:'+document.lastModified);</script>");
out.println("</body>");
out.println("</html>");
}
}

web.xml设置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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_2_5.xsd">
<display-name></display-name>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.servlet.HelloServlet</servlet-class>
<init-param>
<param-name>message</param-name>
<param-value>welcome to FirstServlet!</param-value>
</init-param> <init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<!-- 配置该Servlet的加载方式.1是tomcat启动时加载.0是第一次该方法是加载 -->
<load-on-startup>1</load-on-startup> </servlet>
<!-- 可以通过 /servlet/HelloServlet 或是。jsp/.php等来访问-->
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/HelloServlet</url-pattern>
<url-pattern>/servlet/HelloServlet.jsp</url-pattern>
<url-pattern>/servlet/HelloServlet.php</url-pattern>
<url-pattern>/servlet/HelloServlet.aspx</url-pattern>
<url-pattern>/servlet/HelloServlet.asp</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

重点code部分:

 (1)用getServletConfig().getInitParameter("encoding");//来获取web.xml中的初始化数据。

(2)StringBuffer requestURL=request.getRequestURL();//获取页面URL

(3)String method=request.getMethod();//获取访问方法

(4)String param=request.getParameter("param");//获取参数

Servlet 小试牛刀(doGet,doPost)的更多相关文章

  1. servlet中doGet()和doPost()的区别

    1.生成方式 get方法有四种: ①直接在URL地址栏中输入URL ②网页中的超链接 ③form中method为get ④form中method为空时,默认是get提交 post只知道有一种:form ...

  2. servlet中doGet()和doPost()的用法

    转自:https://blog.csdn.net/qq_38963960/article/details/79468182 1.servlet中doGet()和doPost()的用法 一般来说我们是用 ...

  3. [转]servlet中的service, doGet, doPost方法的区别和联系

    原文地址:http://m.blog.csdn.net/blog/ghyg525/22928567 大家都知道在javax.servlet.Servlet接口中只有init, service, des ...

  4. servlet 中 service ,doGet , doPost 关系

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2 ...

  5. Servlet的doGet与doPost方法的区别与使用

    Servlet的doGet与doPost方法的区别与使用 2016年07月07日 13:05:13 阅读数:10222 一,区别 在使用表单提交数据到服务器的时候有两张方式可共选择,一个是post一个 ...

  6. 自定义servlet重写doGet或者doPost方法时,405 method not allowed

    自定义servlet public class TestServlet extends HttpServlet { @Override protected void doGet(HttpServlet ...

  7. doget,doPost在底层走的是service

    doget,doPost在底层走的是service 因为在源码上 先执行service方法 然后再调用doget,doPost方法

  8. 【Servlet】doGet()与doPost()的区别

    doGet与doPost的区别 .Servlet接口只定义了一个服务方法--service .当发出客户端请求时,调用service方法并传递一个请求和响应对象 .使用时经常在doPost()中调用d ...

  9. Servlet -doGet() doPost()原理

    一.自定义类只需要重写doGet(HttpServletRequest request, HttpServletResponse response) 和doPost(HttpServletReques ...

随机推荐

  1. action使用大全

    1.Intent的用法: (1)Action跳转 1. 使用Action跳转,当程序AndroidManifest.xml中某一个 Activity的IntentFilter定义了包含Action, ...

  2. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  3. FairScheduler的任务调度机制——assignTasks(续)

    上一篇文章浅析了FairScheduler的assignTasks()方法,介绍了FairScheduler任务调度的原理.略过了最后一步通过JobScheduler获取Task时调用JobInPro ...

  4. 使用solrj操作solr索引库,solr是lucene服务器

    客户端开发 Solrj 客户端开发 Solrj Solr是搭建好的lucene服务器 当然不可能完全满足一般的业务需求 可能 要针对各种的架构和业务调整 这里就需要用到Solrj了 Solrj是Sol ...

  5. linux文件的隐藏属性:chattr

    1. 文件的隐藏属性 linux除了9个权限外,还有些隐藏属性, 使用chattr命令来设置. 使用方法: $ chattr +-=[ASacDdIijsTtu] + : 添加一个特殊參数 - :   ...

  6. java 集合排序(转)

    Java API针对集合类型排序提供了两种支持:java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.ut ...

  7. 软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程策划篇

    续:软件项目量化管理(CMMI高成熟度)实践经验谈--之概述篇 二.项目管理过程 软件开发项目管理过程,从项目全视角来看,分为售前.售中.售后等三个大的阶段.本文所谈的是售中阶段项目管理过程,在售中阶 ...

  8. 用C语言扩展Python的功能

    https://www.ibm.com/developerworks/cn/linux/l-pythc/

  9. Google Map API v2 番外篇 关于gps位置偏差及修正方法探讨

    我的手机是M35C,在我自己的map activity中,通过gps获取到的经纬度比实际地址总是有500米左右的偏差. 在网上搜索了很多,都说这个是测绘局为了保密故意弄成这样的.gps全球定位系统获得 ...

  10. C#面向对象(一)

    一:面向对象的基本知识 C#程序分为面向过程和面向对象 什么是对象:一切皆为对象:Object,生活中常说的“东西”就是程序里面所指的对象:生活中遇到的东西我们都在下意识的归类:归类意味着抽象模型: ...