第一个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文件 ...
随机推荐
- oracle表结构和数据导出时的一些勾选项说明
使用pl/sql developer导出oracle数据库的表结构和表数据时,有一些勾选项供用户选择,需要用户根据实际情况进行勾选或取消. 导出方法如下:一.只导出表结构1.使用pl/sql deve ...
- 经典Dialog插件Layer
Github上只有一个test,所以最好还是到官网去学习,官网的示例写的很详尽,难得一见的设计思路和灵活性都极好的插件.下面是我自己test过的demo <!DOCTYPE html> & ...
- 数据库日志文件(databasename_log.ldf)太大 如何清除
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式.方案一:完全命令模式USE[master] GO ALTER DATABASE DNName SET RECOVERY ...
- Linux基础-swap交换分区
任务:对一块15G大小的硬盘进行分区,主分区为5G,扩展分区10G,一个逻辑分区5G作为swap交换分区,并激活查看新的swap分区 第一步,建立的新的SCSI硬盘,开启Linux系统前添加一块大小为 ...
- CSS 特殊性、继承与层叠
一.特殊性规则 选择器的特殊性由选择器本身的组件确定:特殊性由四个部分组成,其初始值为0,0,0,0. 1. 对于选择器中的每一个id,记0,1,0,0: 2. 对于选择器中的每一个类.伪 ...
- transparent 透明效果
background-color:transparent;就是把背景色设置为透明. 实际上background默认的颜色就是透明的属性.所以写和不写都是一样的 span{ width: 0; heig ...
- MySQL分页存储过程
CREATE PROCEDURE ProcPage(in tableName varchar(20),#表名 in showField varchar(100),#要显示的列名 in whereT ...
- bzoj 1607 Patting Heads 轻拍牛头
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1607 题解: 题目似乎出错,应为“同时拍打所有所持纸条上的数字能被此牛所持纸条上的数字整除 ...
- Python之容器类Collections
容器类Collections 标签(空格分隔): Python进阶 defaultdict counter deque namedtuple defaultdict defaultdict的作用是可以 ...
- DenseNet笔记
一.DenseNet的优点 减轻梯度消失问题 加强特征的传递 充分利用特征 减少了参数量 二.网络结构公式 对于每一个DenseBlock中的每一个层, [x0,x1,…,xl-1]表示将0到l-1层 ...