一.ServletRequest

1.获取参数的方法(四种)

  > String getParameter(String name): 根据请求参数的名字, 返回参数值.
    若请求参数有多个值(例如 checkbox), 该方法只能获取到第一个提交的值.

  > String[] getParameterValues(String name): 根据请求参数的名字, 返回请求参数对应的字符串数组.

  > Enumeration getParameterNames(): 返回参数名对应的 Enumeration 对象,
  类似于 ServletConfig(或 ServletContext) 的 getInitParameterNames() 方法.

  > Map getParameterMap(): 返回请求参数的键值对: key: 参数名, value: 参数值, String 数组类型.

2.程序indexhtml

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="post">
user: <input type="text" name="user"/>
password: <input type="password" name="password"/><br><br> interesting:
<input type="checkbox" name="interesting" value="reading"/>Reading
<input type="checkbox" name="interesting" value="game"/>Game
<input type="checkbox" name="interesting" value="party"/>Party
<input type="checkbox" name="interesting" value="shopping"/>Shopping
<input type="checkbox" name="interesting" value="sport"/>Sport
<input type="checkbox" name="interesting" value="tv"/>TV <input type="submit" value="Submit"/>
</form>
</body>
</html>

3.web.xml

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>servlets.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
</web-app>

4.LoginServlet.java

 package servlets;

 import java.io.IOException;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map; import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class LoginServlet implements Servlet{
public void destroy() {}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {}
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
//getParameter
String name=request.getParameter("user");
System.out.println("user="+name);
System.out.println("========================="); //getParameterValues
String[] names=request.getParameterValues("interesting");
for(String inter:names) {
System.out.println("inter="+inter);
}
System.out.println("========================="); //getParameterNames
Enumeration<String> en=request.getParameterNames();
while(en.hasMoreElements()) {
String enName=en.nextElement();
System.out.println("enName="+enName);
}
System.out.println("========================="); //getParameterMap
Map<String,String[]> map=request.getParameterMap();
for(Map.Entry<String,String[]> entry : map.entrySet()) {
System.out.println(entry.getKey()+"="+Arrays.asList(entry.getValue()));
} } }

5.效果

  

6.获取请求的 URI

7.获取请求方式

8.若是一个 GET 请求, 获取请求参数对应的那个字符串, 即 ? 后的那个字符串.

9.获取请求的 Serlvet 的映射路径

10.java程序

 package servlets;

 import java.io.IOException;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map; import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; public class LoginServlet implements Servlet{
public void destroy() {}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {}
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// //getParameter
// String name=request.getParameter("user");
// System.out.println("user="+name);
// System.out.println("=========================");
//
// //getParameterValues
// String[] names=request.getParameterValues("interesting");
// for(String inter:names) {
// System.out.println("inter="+inter);
// }
// System.out.println("=========================");
//
// //getParameterNames
// Enumeration<String> en=request.getParameterNames();
// while(en.hasMoreElements()) {
// String enName=en.nextElement();
// System.out.println("enName="+enName);
// }
// System.out.println("=========================");
//
// //getParameterMap
// Map<String,String[]> map=request.getParameterMap();
// for(Map.Entry<String,String[]> entry : map.entrySet()) {
// System.out.println(entry.getKey()+"="+Arrays.asList(entry.getValue()));
// } //HttpServletRequest(负责http的Servlet)
HttpServletRequest hsr=(HttpServletRequest) request; //getRequestURI
String requestUri=hsr.getRequestURI();
System.out.println("requestUri="+requestUri);
System.out.println("========================="); //getMethod
String method=hsr.getMethod();
System.out.println("method="+method);
System.out.println("========================="); //getQueryString
String queryString =hsr.getQueryString();
System.out.println("queryString="+queryString);
System.out.println("========================="); //getServletPath
String servletPath=hsr.getServletPath();
System.out.println("servletPath="+servletPath);
System.out.println("========================="); //
} }

11.效果

  

二:response

1.将字放到html里

 package servlets;

 import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map; import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; public class LoginServlet implements Servlet{
public void destroy() {}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {}
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
// //getParameter
// String name=request.getParameter("user");
// System.out.println("user="+name);
// System.out.println("=========================");
//
// //getParameterValues
// String[] names=request.getParameterValues("interesting");
// for(String inter:names) {
// System.out.println("inter="+inter);
// }
// System.out.println("=========================");
//
// //getParameterNames
// Enumeration<String> en=request.getParameterNames();
// while(en.hasMoreElements()) {
// String enName=en.nextElement();
// System.out.println("enName="+enName);
// }
// System.out.println("=========================");
//
// //getParameterMap
// Map<String,String[]> map=request.getParameterMap();
// for(Map.Entry<String,String[]> entry : map.entrySet()) {
// System.out.println(entry.getKey()+"="+Arrays.asList(entry.getValue()));
// }
//******************************************************************//
// //HttpServletRequest(负责http的Servlet)
// HttpServletRequest hsr=(HttpServletRequest) request;
//
// //getRequestURI
// String requestUri=hsr.getRequestURI();
// System.out.println("requestUri="+requestUri);
// System.out.println("=========================");
//
// //getMethod
// String method=hsr.getMethod();
// System.out.println("method="+method);
// System.out.println("=========================");
//
// //getQueryString
// String queryString =hsr.getQueryString();
// System.out.println("queryString="+queryString);
// System.out.println("=========================");
//
// //getServletPath
// String servletPath=hsr.getServletPath();
// System.out.println("servletPath="+servletPath);
// System.out.println("=========================");
//******************************************************************//
//response
// response.setContentType("text/html");
// response.setContentType("text/msdoc");
PrintWriter out = response.getWriter();
out.println("helloworld...");
} }

2.效果

  

第一个web程序(ServletRequest , ServletResponse)的更多相关文章

  1. 使用MyEclipse开发第一个Web程序

    MyEclipse环境配置 首先,安装一个MyEclipse,然后进行一些相关的环境配置(Window->Preferences): 比如字体.Formatter等. 也可以从Eclipse中导 ...

  2. Servlet+JSP教程之:第一个Web程序

    我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进行运行,其实就是Servlet程序. 第一个Web程序: 开发工具: My ...

  3. Servlet+JSP(三):第一个Web程序

    Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...

  4. 第一个web程序(web.xml , ServletConfig , ServletContext)

    一:第一个jsp程序 1.项目设计结构 2.新建Person.java package com.java.demo; public class Person { public void printSt ...

  5. Django的第一个web程序及深入学习

    本学习历程参照Practical Django Projects和http://djangobook.py3k.cn上翻译的内容进行 注:本例以本机加以说明: 根据Django的安装过程可知:在命令行 ...

  6. [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序

    本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(Paa ...

  7. Asp.Net Core 学习教程1、初始.Net Core与VS Code 第一个web程序

    1..Net Core介绍 .NET Core是.NET Framework的新一代版本, 是微软开发的第一个具有跨平台(Windows.Macosx.Linux) 能力的应用程序开发框架,未来也将会 ...

  8. 一个web程序员的年终总结

    2017年年终总结(就是一个程序员的瞎叨叨): 从来到中科院到现在,很开心可以在这留下来.毕竟对于我来说,这里符合我对自己毕业后前两年的规划.我是一个很慢的人,特别是对于我想做好的事情,我会非常认真仔 ...

  9. 第一个web 程序(servlet 和 jsp )&

    开发工具是便于程序员的编写,真正运行的代码不是编写的代码,而是tomcat服务器中部署好的代码.tomcat 会根据请求自动调用对应的代码进行请求处理. 可能遇到的问题: 1. 没有classes文件 ...

随机推荐

  1. git爬坑不完全指北(二):failed to push some refs to ‘XXX’的解决方案

    报错分析        从字面理解,这个报错的意思就是说远程仓库里有一个改动是本地仓库里没有的,所以在push前要先把远程仓库上的改动pull或者fetch到本地仓库.然后再执行push的操作,把本地 ...

  2. 【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档

    本章介绍如何使用NGINX Plus和NGINX开放源代理和负载平衡TCP和UDP流量. 目录 介绍 先决条件 配置反向代理 配置TCP或UDP负载平衡被动健康监控 选择负载平衡方法 配置会话持久性 ...

  3. css 系统自学笔记2017-12-04

    一.几个常用的可以连写的样式属性 1.backgroud: 背景连写:没有先后顺序,都是可选的. 2.font字体属性连写: font: 二.元素分类 块级元素:div p h1~h6 ul li o ...

  4. 最佳的MongoDB客户端管理工具

    <最佳的MongoDB客户端管理工具> 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一个好的MongoD ...

  5. JS中的作用域和闭包

    作用域:在编程语言中,作用域控制着变量与参数的可见性及生命周期.JS确实有函数作用域,那意味着定义在函数中的参数和变量在函数外部是不可见的,而且在一个函数中的任何位置定义的变量在该函数中的任何地方都是 ...

  6. 不可不看!CSS3中三十一种选择器用法

    原文 The 30 CSS Selectors you Must Memorize 由 Jeffrey Way 发表于 2012 年 6 月,介绍了 30 种最常用的 CSS 选择器用法,多加了一种, ...

  7. POJ 1128 Frame Stacking (拓扑排序)

    题目链接 Description Consider the following 5 picture frames placed on an 9 x 8 array. ........ ........ ...

  8. Python练习-猜年龄的LowB游戏

    Alex大神今天让我做一个猜年龄的游戏: 第一个游戏是你只能猜三次:真的很LowB啊~ # 编辑者:闫龙 #猜年龄游戏,3次后程序自动退出! ages = 29; #for循环3次 for i in ...

  9. VUE项目用hbuilder 打包为手机APP

    一.测试项目是否可以正确运行    指令:npm run dev 首先我们先建立一个vue的项目,本人用的是vue-cli随便建立的,然后运行项目 不必非得是像我这样的,这一步的目的只是测试一下咱们的 ...

  10. CertUtil.exe被利用来下载恶意软件

    1.前言 经过国外文章信息,CertUtil.exe下载恶意软件的样本. 2.实现原理 Windows有一个名为CertUtil的内置程序,可用于在Windows中管理证书.使用此程序可以在Windo ...