第74节:第74节:Java中的Cookie和Session

ServletContext:

什么是ServletContext,有什么用哦,怎么用呢?

启动服务器后,会给每个应用程序创建一个ServletContext,并且这个ServletContext对象只有一个。可以用于获取全局参数,工程下的资源,和存取数据,共享数据。

例子,如何获取全局参数,如何获取工程下的资源,如何进行存取数据,用例子代码进行展示。

getServletContext().getInitParams();和getServletConfig().getInitParams();

getServletContext().getRealPath()

getServletContext().getReasourceAsStream()

InputStream is = getClass().getClassLoader().getReasourceAsStream();

相对路径和绝对路径

getServletContext().setAttribute()

getServletContext().getAttribute()

获取登录成功次数

HttpServletRequest:

请求对象,用于封装客户端提交过来的数据或者信息。

可以获取头信息,提交过来的数据:

`request.getParameter("name"); // dashucoding url连接拼接

中文乱码情况

HttpServletResponse:

响应对象,服务器要返回给客户端的数据

跳转页面:

response.setStatus(302);

response.setHeader("Location","success.html");

文件下载:输出流和输入流的对接

下载中文名字的资源:

// index.html

Insert title here

默认servlet去下载

aa.jpg

bb.txt

cc.rar

手动下载

aa.jpg

bb.txt

cc.rar

达叔.png

// Demo01.java

package com.dashucoding.servlet;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class Demo01

*/

public class Demo01 extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

// 获取要下载的文件名字

String fileName = request.getParameter("filename");

// 获取这个文件在tomcat里面的绝对路径地址

String path = getServletContext().getRealPath("download/"+fileName);

// 用于用户下载

response.setHeader("Content-Disposition", "attachment; filename="+fileName);

// 转化成输入流

InputStream is = new FileInputStream(path);

OutputStream os = response.getOutputStream();

int len = 0;

byte[] buffer = new byte[1024];

while( (len = is.read(buffer)) != -1) {

os.write(buffer, 0, len);

}

os.close();

is.close();

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

浏览器

// Demo01.java

package com.dashucoding.servlet;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URLEncoder;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class Demo01

*/

public class Demo01 extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

// 获取要下载的文件名字

String fileName = request.getParameter("filename");

// get请求有中文

//byte[] bytes = fileName.getBytes("ISO-8859-1");

//new String(bytes, "UTF-8");

fileName = new String(fileName.getBytes("ISO-8859-1"), "UTF-8");

System.out.println("fileName="+fileName);

// 获取这个文件在tomcat里面的绝对路径地址

String path = getServletContext().getRealPath("download/"+fileName);

// 对中文的名字进行编码处理

// 获取来访客户端的类型

String clientType = request.getHeader("User-Agent");

if (clientType.contains("Firefox")) {

fileName = DownLoadUtil.base64EncodeFileName(fileName);

}else {

fileName = URLEncoder.encode(fileName, "UTF-8");

}

// 用于用户下载

response.setHeader("Content-Disposition", "attachment; filename="+fileName);

// 转化成输入流

InputStream is = new FileInputStream(path);

OutputStream os = response.getOutputStream();

int len = 0;

byte[] buffer = new byte[1024];

while( (len = is.read(buffer)) != -1) {

os.write(buffer, 0, len);

}

os.close();

is.close();

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

// DownLoadUtil

package com.dashucoding.servlet;

import java.io.UnsupportedEncodingException;

import sun.misc.BASE64Encoder;

public class DownLoadUtil {

public static String base64EncodeFileName(String fileName) {

BASE64Encoder base64Encoder = new BASE64Encoder();

try {

return "=?UTF-8?B?"

+ new String(base64Encoder.encode(fileName

.getBytes("UTF-8"))) + "?=";

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

throw new RuntimeException(e);

}

}

}

登录

// LoginServlet

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class LoginServlet

*/

public class LoginServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

// public void setContextType(String type)

// 设置将发送到客户端的响应的内容类型,如果该响应尚未提交,给定内容类型可能包含字符编码规范,例如

// text/html;charseet=UTF-8,如果在调用 getWriter之前调用此方法,则只根据给定内容类型设置响应的字符编码

response.setContentType("text/html;charset=utf-8");

String userName = request.getParameter("username");

String password = request.getParameter("password");

if("admin".equals(userName) && "123".equals(password)) {

response.getWriter().write("登录成功");

}else {

response.getWriter().write("登录失败");

}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

// web

RequestRedirctionDemo

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

LoginServlet

LoginServlet

com.dashucoding.servlet.LoginServlet

LoginServlet

/login

// login

Insert title here

账号:

密码:

// LoginServlet

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class LoginServlet

*/

public class LoginServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

// public void setContextType(String type)

// 设置将发送到客户端的响应的内容类型,如果该响应尚未提交,给定内容类型可能包含字符编码规范,例如

// text/html;charseet=UTF-8,如果在调用 getWriter之前调用此方法,则只根据给定内容类型设置响应的字符编码

response.setContentType("text/html;charset=utf-8");

String userName = request.getParameter("username");

String password = request.getParameter("password");

if("admin".equals(userName) && "123".equals(password)) {

// response.getWriter().write("登录成功");

response.setStatus(302);

response.setHeader("Location", "login_success.html");

}else {

response.getWriter().write("登录失败");

}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

Insert title here

登录成功!!!

重定向

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class LoginServlet

*/

public class LoginServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

// public void setContextType(String type)

// 设置将发送到客户端的响应的内容类型,如果该响应尚未提交,给定内容类型可能包含字符编码规范,例如

// text/html;charseet=UTF-8,如果在调用 getWriter之前调用此方法,则只根据给定内容类型设置响应的字符编码

response.setContentType("text/html;charset=utf-8");

String userName = request.getParameter("username");

String password = request.getParameter("password");

if("admin".equals(userName) && "123".equals(password)) {

// response.getWriter().write("登录成功");

/*response.setStatus(302);

response.setHeader("Location", "login_success.html");*/

// 重定向写法,重新定位方向

// response.sendRedirect("login_success.html");

// 请求转发的写法

request.getRequestDispatcher("login_success.html").forward(request, response);

}else {

response.getWriter().write("登录失败");

}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

Cookie

用于自动登录,浏览记录等,是服务器给客户端的.

Cookie cookie = new Cookie("a","b");

// 响应

response.addCookie(cookie);

获取Cookie

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class Demo01

*/

public class Demo01 extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//Cookie的简单使用。

//cookie 发送给客户端,并且保存在客户端上的一份小数据

response.setContentType("text/html;charset=utf-8");

//发送cookie给客户端

Cookie cookie = new Cookie("aa", "bb");

//给响应,添加一个cookie

response.addCookie(cookie);

response.getWriter().write("请求成功了...");

//获取客户端带过来的cookie

Cookie[] cookies = request.getCookies();

if(cookies != null){

for (Cookie c : cookies) {

String cookieName = c.getName();

String cookieValue = c.getValue();

System.out.println(cookieName + " = "+ cookieValue);

}

}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

Cookie是一份小数据,是服务器给客户端,存储在客户端上的一份小数据.

http请求是无状态的.

在响应的时候添加Cookie

Cookie cookie = new Cookie("name", "value");

// 添加cookie

response.addCookie(cookie);

在客户端信息里,响应头中多了Set-Cookie

获取客户端带来的Cookie

Cookie[] cookies = request.getCookies();

if(cookies != null){

for(Cookie c : cookies){

String cookieName = c.getName();

String cookieValue = c.getValue();

System.out.println(cookieName + " = " + cookieValue);

}

}

cookie过期

public int getMaxAge()

返回以秒为单位指定的cookie的最大生存时间.

public void setMaxAge(int expiry)

设置cookie的最大生存时间,以秒为单位.

如何显示上次登录时间

可以进行判断账号密码,如果上次有登录过,那么显示上次的登录时间.这里分两种情况,获取带过来的cookie进行判断,第一种是没有cookie的,第一次登录,输出登录成功或者失败,然后给客户端添加cookie,new Cookie(),第二种的登录过的,还是要输出登录成功或者是失败,获取以前的cookie.时间戳要重置怎么理解?

package com.dashucoding.servlet;

import java.io.IOException;

import java.util.Date;

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 com.dashucoding.util.CookieUtil;

/**

* Servlet implementation class Demo03

*/

public class Demo03 extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

String userName = request.getParameter("username");

String password = request.getParameter("password");

if("admin".equals(userName) && "123".equals(password)){

//获取cookie last-name --- >

Cookie [] cookies = request.getCookies();

//从数组里面找出我们想要的cookie

Cookie cookie = CookieUtil.findCookie(cookies, "last");

//是第一次登录,没有cookie

if(cookie == null){

Cookie c = new Cookie("last", System.currentTimeMillis()+"");

c.setMaxAge(60*60); //一个小时

response.addCookie(c);

response.getWriter().write("欢迎您, "+userName);

}else{

//1. 去以前的cookie第二次登录,有cookie

long lastVisitTime = Long.parseLong(cookie.getValue());

//2. 输出到界面,

response.getWriter().write("欢迎您, "+userName +",上次来访时间是:"+new Date(lastVisitTime));

//3. 重置登录的时间

cookie.setValue(System.currentTimeMillis()+"");

response.addCookie(cookie);

}

}else{

response.getWriter().write("登陆失败 ");

}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

如何显示商品浏览记录

获取提交过来的id,把id放入到cookie里,跳转界面.

servlet?id=1;

servlet?id=2;

获取cookie 1

1#2

setValue("1#2");

jsp

// index.jsp

pageEncoding="ISO-8859-1"%>

Insert title here

---------1------------

---------2------------

---------3------------

浏览记录

package com.dashucoding.util;

import javax.servlet.http.Cookie;

public class CookieUtil {

/**

* 从一个cookie数组中找到具体我们想要的cookie对象

* @param cookies

* @param name

* @return

*/

public static Cookie findCookie(Cookie[] cookies , String name){

if(cookies != null){

for (Cookie cookie : cookies) {

if(name.equals(cookie.getName())){

return cookie;

}

}

}

return null;

}

}

Cookie[] cookies = request.getCookies();

Cookie cookie = CookieUtil.findCookie(cookies, "history");

// 如果cookie是空,表明没有浏览商品

if(cookie == null){

%>

您还没有浏览任何商品!

}else{

// 不是空,表明有浏览记录

String[] ids = cookie.getValue().split("#");

for(String id : ids){

%>

}

}

%>

package com.dashucoding.servlet;

import java.io.IOException;

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 com.dashucoding.util.CookieUtil;

public class ProductInfoServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String id = request.getParameter("id");

Cookie[] cookies = request.getCookies();

Cookie cookie = CookieUtil.findCookie(cookies, "history");

if (cookie==null) {

Cookie cook = new Cookie("history", id);

cook.setMaxAge(60*60*24*7);

response.addCookie(cook);

}else{

String id2 = cookie.getValue();

cookie.setValue(id+"#"+id2);

cookie.setMaxAge(60*60*24*7);

response.addCookie(cookie);

}

response.sendRedirect("product_info.htm");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

}

清除浏览记录

清除cookie

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class ClearHistory

*/

public class ClearHistory extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// 清除cookie

Cookie c = new Cookie("history", "");

c.setMaxAge(0);

//c.setPath("/demo1");

response.addCookie(c);

response.sendRedirect("product_list.jsp");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

获取cookie,添加cookie

request.getCookie();

response.addCookie();

Cookie分类

cookie.setMaxAge(0); // 删除

cookie.setMaxAge(100); // 100秒

Cloneable

创建一个cookie,cookie是servlet发送到web浏览器中的少量信息,这些信息是由浏览器保存,然后发送回到服务器中.

cookie的值是唯一标识客户端的,可以用于cookie会话管理.一个cookie拥有一个名,值,可以有一些可选属性.但又cookie也存在一些问题.浏览器支持每个web服务器又20个cookie,共有300个cookie,每个限制在4KB.

安全隐患,大小与个数限制.

Session

会话,Session是基于Cookie的一种会话机制.Cookie是服务器返回一部分小数据在客户端,存放在客户端上.

Session是把数据存放在服务端.

interface httpsession

public interface httpSession

常用的方法

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

* Servlet implementation class Demo01

*/

public class Demo01 extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

HttpSession session = request.getSession();

// 得到会话ID

session.getId();

// 存值

session.setAttribute(name, value);

// 取值

session.getAttribute(name);

// 移植

session.removeAttribute(name);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

// web.xml

SessionDemo02

index.html

index.htm

index.jsp

default.html

default.htm

default.jsp

LoginServlet

LoginServlet

com.dashucoding.servlet.LoginServlet

LoginServlet

/login

// LoginServlet

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class LoginServlet

*/

public class LoginServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.setContentType("text/html;charset=utf-8");

response.getWriter().write("收到请求了");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

// login.jsp

pageEncoding="UTF-8"%>

Insert title here

账号:

密码:

session创建与销毁

创建 request.getSession();

销毁 Redis session 存放在服务器内存中的数据

session关闭服务器销毁

session会话时间过期

// 可以改的 conf\web.xml 有效期30分钟

30

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class LoginServlet

*/

public class LoginServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.setContentType("text/html;charset=utf-8");

String sessionid = request.getSession().getId();

System.out.println("sessionid="+sessionid);

// cookid id -> sessionid

response.getWriter().write("收到请求了");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

session分析

商品列表添加商品,点击商品添加到购物车,到servlet.

获取点击商品标识id,存储到购物车,跳转界面.

判断购物车是否有商品,有数量加1,没有数量等于1.

购物车

package com.dashucoding.servlet;

import java.io.IOException;

import java.util.LinkedHashMap;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class CarServlet

*/

public class CarServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

response.setContentType("text/html;charset=utf-8");

// 获取添加到购物车的商品id

int id = Integer.parseInt(request.getParameter("id"));

// cat dog big pig

String [] names = {"cat","dog","big","pig"};

// 取到id对应商品

String name = names[id];

// 获取购物车存放东西的session

// 把一个map 对象存放到session里面去,保证只有一次

Map map = (Map) request.getSession().getAttribute("cat");

if(map == null) {

// value -> map

map = new LinkedHashMap();

request.getSession().setAttribute("cat", map);

}

// 判断购物车里有没有该商品

if(map.containsKey(name)) {

// 在原来基础上 +1

map.put(name, map.get(name)+1);

}else {

map.put(name, 1);

}

response.getWriter().write("

继续购物

");

response.getWriter().write("

去购物车结算

");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

pageEncoding="UTF-8"%>

Insert title here

cat

dog

big

pig

// cart.jsp

pageEncoding="UTF-8"%>

Insert title here

您的购物车商品如下:

// 获取到map

Map map = (Map)session.getAttribute("cat");

// 遍历

if(map != null){

for(String key : map.keySet()){

int value = map.get(key);

// key:商品名称 value:商品名称

//

名称: 数量:

%>

名称: 数量:

}

}

%>

package com.dashucoding.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

* Servlet implementation class ClearCartServlet

*/

public class ClearCartServlet extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

HttpSession session = request.getSession();

// cat购物车

session.removeAttribute("cat");

response.sendRedirect("cart.jsp");

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

pageEncoding="UTF-8"%>

Insert title here

您的购物车商品如下:

// 获取到map

Map map = (Map)session.getAttribute("cat");

// 遍历

if(map != null){

for(String key : map.keySet()){

int value = map.get(key);

// key:商品名称 value:商品名称

//

名称: 数量:

%>

名称: 数量:

}

}

%>

清空购物车

public void invalidate()

使用,会话无效,取消对任何绑定到它的对象.

// 强制干掉会话

// session.invalidate();

小结

cookie和session

Cookie

获取上一次访问时间,获取浏览记录,数据存放在客户端

Session

会话技术,数据存放在服务端

setAttribute 存放数据

getAttribute 取数据

removeAttribute 移除

getSessionId() 获取会话id

invalidate() 让会话失效

response.addCookie(new Cookie())

request.getSession 创建

如果看了觉得不错

点赞!转发!

达叔小生:往后余生,唯独有你

You and me, we are family !

90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通

简书博客: 达叔小生

https://www.jianshu.com/u/c785ece603d1

结语

下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注

小礼物走一走 or 点赞

java中的Cookie是什么_第74节:Java中的Cookie和Session相关推荐

  1. java mysql单库多表_第69节:Java中数据库的多表操作

    第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文 ...

  2. java获取表主外键_通过 jdbc 分析数据库中的表结构和主键外键

    文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hib ...

  3. java中的de是什么_【转】java中main函数解析

    源地址:http://www.cnblogs.com/xwdreamer/archive/2012/04/09/2438845.html 从写java至今,写的最多的可能就是主函数 public st ...

  4. java中为按钮添加图片_我们可以在Java接口中为成员定义私有和受保护的修饰符吗?...

    java中为按钮添加图片 No, it is not possible to define private and protected modifiers for the members in int ...

  5. 一个java程序中什么是主类_下列哪个是Java应用程序主类中正确的main方法?_学小易找答案...

    [判断题]用佛尔哈德法测定Ag + 时,不用先除去氮的低价氧化物.汞盐等杂质. [单选题]下列哪个是Java应用程序主类中正确的main方法? [判断题]javac.exe 命令文件存放在 JDK 安 ...

  6. java中super(aa bb cc)_面向对象程序设计(Java)答案

    [单选题]下列哪个类声明是正确的( ) [单选题]Java中,在如下所示的Test类中,共有( )个构造方法. public class Test{ private int x; public Tes ...

  7. ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密

    **PHP7.0 7.1 7.2 7.3 AES对等加解密类 函数文件_兼容ios/andriod/java等** 由于新项目规划要求使用PHP7.2开发环境,但在部分新系统中仍需使用AES加解密方式 ...

  8. java实验报告金陵科技学院_金陵科技学院java

    <Java语言程序设计>学生信息管理_理学_高等教育_教育专区.学生信息管理系统,金陵科技学院 <Java 语言程序设计>课程考查报告 题 目: 学生信息管理程序 学生姓名.. ...

  9. java编写字符串连接程序注释_一种利用JAVA注释支持多行字符串的方法

    从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法.以下代码实测通过,详见jSqlBox项目的test\examples\multipleLineSQL\SqlTe ...

最新文章

  1. Linux的kickstart安装详解
  2. 学习LINUX的几点注意事项
  3. postDelayed总结
  4. C#调用JAVA接口WSSE方式用WebClient方式
  5. 新华字典java_新华字典查询示例代码
  6. c语言10-100000取整数,100个C语言地编程题.docx
  7. CRM Online Outlook Client Configuration Wizard
  8. RHCE系列之权限管理----ACL(访问控制列表)
  9. dbeaver 视图有一个x_《工程制图》——视图、剖视图、断面图、局部放大图
  10. MyBatis动态代理执行原理
  11. CodeForces 292D Connected Components (并查集+YY)
  12. 2万字硬核剖析网页自定义字体解析(css样式表解析、字体点阵图绘制与本地图像识别等)...
  13. PowerMILL宏自动化编程视频教程
  14. 一文读懂大比例尺地形图测绘
  15. 程序没问题但是报错Could_not_autowired
  16. 手把手教你windows下用docker安装 elasticsearch和可视化管理工具 ElasticHD和dejavu
  17. 甲骨文数据库购买的价格(一)
  18. 阿里云域名配置过程记录
  19. IDEA中如何正确快速打jar包(包括瘦包、胖包)
  20. ListView滚动的方法

热门文章

  1. 基于深度前馈序列记忆网络,如何将语音合成速度提升四倍?
  2. 一步搞清楚多态与类初始化的底层原理
  3. 编程实现将一个N进制数转换成M进制数
  4. oracle修改某个表的字段顺序
  5. react-native 单位换算(px,pt,dp,ppi)
  6. Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
  7. 如何画出漂亮的气象(实时流量)图
  8. 【opencv系列05】OpenCV4.X鼠标回调函数
  9. 【收藏】deepin环境安装nodejs
  10. spark历史版本下载地址