第一个web程序(ServletRequest , ServletResponse)
一.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)的更多相关文章
- 使用MyEclipse开发第一个Web程序
MyEclipse环境配置 首先,安装一个MyEclipse,然后进行一些相关的环境配置(Window->Preferences): 比如字体.Formatter等. 也可以从Eclipse中导 ...
- Servlet+JSP教程之:第一个Web程序
我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进行运行,其实就是Servlet程序. 第一个Web程序: 开发工具: My ...
- Servlet+JSP(三):第一个Web程序
Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...
- 第一个web程序(web.xml , ServletConfig , ServletContext)
一:第一个jsp程序 1.项目设计结构 2.新建Person.java package com.java.demo; public class Person { public void printSt ...
- Django的第一个web程序及深入学习
本学习历程参照Practical Django Projects和http://djangobook.py3k.cn上翻译的内容进行 注:本例以本机加以说明: 根据Django的安装过程可知:在命令行 ...
- [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序
本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(Paa ...
- Asp.Net Core 学习教程1、初始.Net Core与VS Code 第一个web程序
1..Net Core介绍 .NET Core是.NET Framework的新一代版本, 是微软开发的第一个具有跨平台(Windows.Macosx.Linux) 能力的应用程序开发框架,未来也将会 ...
- 一个web程序员的年终总结
2017年年终总结(就是一个程序员的瞎叨叨): 从来到中科院到现在,很开心可以在这留下来.毕竟对于我来说,这里符合我对自己毕业后前两年的规划.我是一个很慢的人,特别是对于我想做好的事情,我会非常认真仔 ...
- 第一个web 程序(servlet 和 jsp )&
开发工具是便于程序员的编写,真正运行的代码不是编写的代码,而是tomcat服务器中部署好的代码.tomcat 会根据请求自动调用对应的代码进行请求处理. 可能遇到的问题: 1. 没有classes文件 ...
随机推荐
- 应用jfinal发送微信模板消息的一个bug
严格来讲,这不是一个bug,只是我们应用的方式不对.微信发送模板消息的方法是: HttpUtils.post(sendApiUrl + AccessTokenApi.getAccessTokenStr ...
- 一个简单的ns2实验全过程
实验名称:比较tcp和udp的丢包行为 试验目的:1. 熟练用ns2做网络仿真试验的整个流程:2. 练习写tcl脚本,了解怎么应用http和rtp:3. 练习用awk处理trace数据,了解怎么计算丢 ...
- HDU 1017 A Mathematical Curiosity 数学题
解题报告:输入两个数,n和m,求两个数a和b满足0<a<b<n,并且(a^2+b^2+m) % (a*b) =0,这样的a和b一共有多少对.注意这里的b<n,并不可以等于n. ...
- mogodb的安装与配置
下载:https://www.mongodb.com/https://www.mongodb.com/ 安装:一直next,中间选择custom,选择自己的安装路径,最后安装成功. 配置:打开安装好的 ...
- 新电脑重新安装win10+python3.6+anaconda+tensorflow1.12(gpu版)
安装了一天的软件,遇到了很多坑,在快泪崩的时候,始终以磨刀不误砍柴工鼓励自己,坚持安好了,话不多说,上干货: 前言: TensorFlow 有两个版本:CPU 版本和 GPU 版本.GP ...
- js中同步与异步处理方法
在使用异步请求时,有时需要将异步请求的结果返回给另一个js函数,此种情况下会出现未等异步请求返回请求结果,该发送请求所在js函数已经执行完后续操作,即已经执行return ,这样会导致return的结 ...
- python进阶之类常用魔法方法和魔法属性
前言 前面我们总结过了python的关键字.运算符.内置函数.语法糖等与python魔法方法之间的关系,现在我们更细一点,看看python的面向对象编程有哪些常用的魔法属性和魔法方法. 魔法属性 对于 ...
- #ifdef __cplusplus extern "C" { #endif”的定义的含义
看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事: Microsoft-Specific Predefi ...
- Shell编写8点建议
这八个建议,来源于键者几年来编写 shell 脚本的一些经验和教训.事实上开始写的时候还不止这几条,后来思索再三,去掉几条无关痛痒的,最后剩下八条.毫不夸张地说,每条都是精挑细选的,虽然有几点算是老生 ...
- python面向对象(五)之多态
继承 在讲多态之前我们再复习下继承,下面是一个例子. Circle 和 Rectangle 继承自 Shape,不同的图形,面积(area)计算方式不同. # shape.py class S ...