httpservlet----one

package secondWeb;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class one extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
// 获取前台单个元素的值
String userName = req.getParameter("userName");
String pwd = req.getParameter("pwd");
String[] loves = req.getParameterValues("love");// 获取一组具有相同名字的元素的值
out.println("从前台获取的数据如下:" + "<br/>");
out.println("userName:" + userName + "<br/>");
out.println("pwd:" + pwd + "<br/>");
out.println("love:");
if (loves != null) {
for (String s : loves) {
out.print(s + "\t");
}
}
/*
* cookie和session的区别 1、存放位置不同。cookie存放在客户端上;session的内容存放在服务器上
* 2、session对cookie具有依赖性。cookie当中会存放一个session的id
* 3、大小不同。cookie的大小固定,每条限制在4K,每个浏览器支持的cookie数量大约在120-140之间;
* session可存储大量数据,但会占用服务器资源
* 4、安全性不同。cookie的内容是浏览器可见的,安全性较低;session内容由于在服务器上,安全性较高
*/
HttpSession se = req.getSession();// 创建一个HttpSession
se.setMaxInactiveInterval(3600);// 设置session在服务器的过期时间为3600秒
se.setAttribute("pwd", pwd);// 为session设置一个键值对
Cookie cookie = new Cookie("name", userName);// 创建一个cookie,它里面的存放了一个键值对
cookie.setMaxAge(3600); // 设置cookie的过期时间为3600秒
resp.addCookie(cookie);// 将新创建的cookie添加到文件中
/*当浏览器关闭时,原来保存sessionid的cookie也将被消除。当我们重新打开浏览器时,虽然服务器仍然有session的记录,
* 但实际会新打开一个session,为了获取原来session里面的值,可以将第一次的sessionid保存下来*/
Cookie seCookie = new Cookie("JSESSIONID", se.getId());// 创建一个session的cookie,存放了session的id
cookie.setMaxAge(3600);
resp.addCookie(seCookie);

/*
* 请求转发和响应重定向的区别: 1、完成的对象不同。转发是在服务器端进行工作;重定向是由客户端浏览器来完成
* 2、范围不同。转发只能在服务器当前工程内部进行;重定向的目的页面可以是服务器当前工程内部,也可以是外部页面
* 3、最终的地址栏不同。转发仅是将业务交由其它页面处理,然后再返回给发送者,地址栏不会发生变化;重定向是整个页面都跳转到一个新的路径下
* 4、请求的次数不同。转发仅发生一次请求,请求的信息不会变;重定向将发生至少两次请求,第一次请求的信息在后面将不会再存在
**/
// resp.sendRedirect("second");//重定向到url为second的路径上
// req.getRequestDispatcher("second").forward(req,
// resp);//转发到url为second的路径上
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进入了post方法");
/*
* get和post方法的区别 1、提交的数据类型。get仅能提交文本;post可以提交文本和二进制文本
* 2、提交的数据长度。get不能超过255个字符;post理论上没有限制
* 3、提交数据的可见性。数据在get中作为URL地址的一部分显示在浏览器地址栏,用户可见,安全性低;post的数据作为消息体,用户不可见,
* 安全性高 4、提交数据缓存。get方法会缓存在浏览器URL的历史状态中;post方法不会被浏览器缓存
*/
doGet(req, resp);// 使用post的时候,将具体的逻辑操作放在doGet方法中
}

}

时间: 2024-10-20 23:12:17

httpservlet----one的相关文章

Description Resource Path Location Type The superclass &quot;javax.servlet.http.HttpServlet&quot; was not foun

一段时间没亲自建新项目玩乐,今天建立了一Maven project的时候发现了以下异常,Description Resource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path index.jsp /easyBuy/src/main/webapp line 1 JSP Problem 经过查找原因,原来是因为忘记设置server

JavaWeb: 报错信息The superclass &quot;javax.servlet.http.HttpServlet&quot; was not found on the Java Build Path

JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 好久不写Jsp,今天建立了一个Javaweb工程,并在eclipse中配置了Web容器Tomcat.原本开心的新建jsp页面,添加一个简单的Java类.可是,JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServl

The superclass &quot;javax.servlet.http.HttpServlet&quot; was not found on the Java Build Path

The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 用eclipse做jsp文件,自动创立的文件表头出现这个报错,应该怎么处理?tomcat的插件已经安装上了. 有一处刚发现了,是中英文标点问题,这两处,一个是The word 'username' is not correctly spelled,还一个是The document body. Contains all

servlet、genericservlet、httpservlet之间的区别(转)

当编写一个servlet时,必须直接或间接实现servlet接口,最可能实现的方法就是扩展javax.servlet.genericservlet或javax.servlet.http.httpservlet当实现javax.servlet.servlet接口时必须实现5个方法 init(servletconfig   config)    service(servletrequest   req,servletresponse   resp)    destroy()    getservle

[Servlet]深入研究HttpServlet

HttpServlet概述 在大多数的Web应用程序中,客户端都是通过Http协议去访问服务器端的资源,而我们编写的Servlet主要是用于Http协议的请求和响应处理.为了快速开发应用于Http协议的Servlet类,Sun公司在javax.servlet.http包中提供了一个抽象类HttpServlet,它继承于GenericServlet,用于创建适合基于Http协议的Web Servlet. public abstract class HttpServlet extends Gener

eclipse:报错信息The superclass &quot;javax.servlet.http.HttpServlet&quot; was not found on the Java Build Path

JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 今天建立了一个Javaweb工程,并在eclipse中配置了Web容器Tomcat.JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Bu

Servlet(三)HttpServlet

以HttpServlet创建Servlet 1.在FirstServlet同目录下建立HServlet.java package com.hunhun; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; public class HServlet extends HttpServlet{ <span style="white-space:pre"&g

Maven项目红色叹号+JavaWeb: 报错信息The superclass &amp;quot;javax.servlet.http.HttpServlet&amp;quot; was not found on the Java B

昨天写的关于解决JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java的方案非常好的攻克了这个错误,可是它没有全然的解决我的问题,Maven项目依旧有一个红色叹号存在.红色叹号存在的原因是:.classpath配置文件引用了某jar包,可是lib里却不存在此jar.我所遇到的问题又是一种新的情况,jar存在lib里存在,但还是报题目中的两个错误.细致研究发现我的java

javaweb笔记4之httpservlet

1 httpservlet简介 service方法是Servlet的入口方法,调用servlet会首先调用service方法.在service方法中,会根据请求方式分别调用不同的doXXX方法.例如,GET方式提交就会调用doGet方法.因为Get 和 Post方式是最常用的两种请求方式,所以在编写Servlet的时候,只需要覆盖doGet  和 doPost方法即可!然后, 在其中一个方法里面写逻辑代码,在另一个方法调用回第一个方法即可! 建议:工具看源码 2 HttpServletReque

Servlet,GenericServlet和HttpServlet的继承关系

HttpServlet是GenericServlet的子类. GenericServlet是个抽象类,必须给出子类才能实例化.它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字.配置.初始化参数的方法,其设计的是和应用层协议无关的,也就是说 你有可能用非http协议实现它. HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete,doPut, doTrace等方法对应处理http协议