javaServlet
来源:互联网 发布:官方mac os 10.9.5 编辑:程序博客网 时间:2024/05/23 11:46
web的四大作用域:
application 在所有应用程序中有效,application 服务器启动到停止这段时间
Request HTTP:
作用范围:只在一次请求中有效;
四个方法:
1、void setAttribute(String name ,Object obj)
2、Object getAttribute(String name)
3、void removeAttribute (String name)
4、Enumeration getAttributeNames():返回request域中所有的属性名ttp
Session HTTP:
HttpSession session = request.getSession();
在jsp页面中可以直接用session,而不必用request。getSession()得到
浏览器发送一次请求到服务器,服务器首先判断,该请求是否携带一个SessionID值
浏览器与该服务器开始建立会话
服务器会在相应请求的同时,将产生一个SessionID,作为该次会话的标识
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表这不是一个新的会话的请求
如果浏览器两个请求之间的时间太长,超出服务器等待的时间,服务器会删除这个session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
也就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为这次新会话的标识
又把这个SessionID发给浏览器,浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动分配一个空间(session对象),SessionID就在session对象里
application Http:
application作用域:
就是服务器启动到关闭的整段时间, 在这个作用域内设置的信息可以被所有应用程序使用。
application作用域上的信息传递是通过ServetContext实现的。
Object getAttribute(String name) 从application中获取信息。
void setAttribute(String name, Object value) 向application作用域中设置信息。
ThreeServlet.java
package com.yy.servlet.web.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ThreeServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("username", "1223");
request.setAttribute("password", "123456");
HttpSession session = request.getSession();
session.setAttribute("sessionusername",session.getId());
session.setAttribute("sessionpassword", "123456");
ServletConfig config = this.getServletConfig();
System.out.println(config.getInitParameter("Country"));
System.out.println(config.getServletName());
Enumeration<String> st = config.getInitParameterNames();
System.out.println(config.getServletContext());
request.getRequestDispatcher("/MyJsp.jsp").forward(request, response);
return;
}
}
MyJsp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h1>request调试</h1>
第一种方式
${username}
${password}
第二种方式
<%=request.getAttribute("username") %>
<%=request.getAttribute("password") %>
<h1>session调试</h1>
第一种方式
${sessionusername}
${sessionpassword}
第二种方式
<%=session.getAttribute("sessionusername") %>
<%=session.getAttribute("sessionpassword") %>
</body>
</html>
ThreeServlet.xml
<servlet>
<servlet-name>ThreeServlet </servlet-name>
<servlet-class>com.yy.servlet.web.servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ThreeServlet </servlet-name>
<url-pattern>/session</url-pattern>
</servlet-mapping>
- javaservlet
- javaServlet
- JavaServlet
- javaServlet
- javaServlet了解
- javaServlet JDBCUtil
- javaServlet一
- JavaServlet基本方法介绍
- jsp javaServlet 的心得
- javaservlet的简单编写
- javaServlet DAO层
- JavaServlet实现文件上传
- JavaServlet过滤器与监听器
- javaservlet上传文件包括照片
- JavaServlet之http协议详解
- JavaServlet之乱码(一)
- JavaServlet调用Web Service的方法(一)
- JavaServlet调用Web Service的方法(二)
- MSVC/MinGW中导入glog静态库的正确方式
- ios7 JavaScriptCore.framework
- Linux中的socket通信——TCP
- OC 调用javaScript建议详情页面
- Objective-C 的“多继承”
- javaServlet
- Oracle 取得当天0时0分0秒和23时59分59秒
- HTMl5的几种存储方式及对比
- File Templates & Project Templates
- 纯HTML项目部署在NGINX,不用TOMCAT
- swift学习资料
- 一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率
- HBase java API mysplitpage 我的HBasejavaAPI翻页实现
- python3中输出map的问题