JavaEE
Dragon.liu
这个作者很懒,什么都没留下…
展开
-
复制文件夹FileInputStream
package digui;import java.io.*;/** * 需求:将指定目录(包含内容)复制到另一个目录中 * 源目录 目标目录 * 分析: * 首先我们要获取源目录下所有文件和子目录 * 把源目录封装成一个File对象,调用File的listFile方法,就可以获得源目录下所有文件和子目录对应的File对象 * * 如果获取的是文件:现在目标目录中创建该文件所对应的目录,进行文件的复制 * 如果获取的是子目录,看看子目录下面是原创 2021-11-22 17:58:07 · 236 阅读 · 0 评论 -
原生的js实现异步请求
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ String pathInfo = req.getPathInfo(); req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); super.print(resp原创 2021-11-13 13:47:27 · 1598 阅读 · 0 评论 -
异步请求(同源策略,AJAX与HTTP),防盗链
同源策略URL由协议。域名。端口和路径组成。如果两个URL的协议、域名、端口相同,表示他们同源。只要三者有任意一个不同,就被看做跨域。浏览器采用同源策略,禁止页面加载或执行与自身来源不同的域的任何脚本。如果使用异步请求去加载数据则会受到同源策略的限制AJAX和普通HTTP请求的区别本质上:AJAX就会浏览器发出的HTTP请求区别:AJAX就是浏览器使用XMLHTTPRequest对象发出的HTTP请求AJAX请求收到浏览器的同源策略限制,存在跨域问题(使用jsonp数据可以实现跨域)AJA原创 2021-11-13 12:21:22 · 760 阅读 · 0 评论 -
表单验证添加数据
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page isELIgnored="false"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+pat原创 2021-11-12 19:23:43 · 469 阅读 · 0 评论 -
异步请求解析数据
获取一条数据<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page isELIgnored="false"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPor原创 2021-11-12 12:36:23 · 821 阅读 · 0 评论 -
异步请求(多种方式)
取得一个雇员信息<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@page isELIgnored="false"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerP原创 2021-11-11 18:09:39 · 1978 阅读 · 0 评论 -
JSON数据格式
将一个对象装换成JSON数据String jsonEmp = JSON.toJSONString(emp);public void getEmpById(HttpServletRequest req, HttpServletResponse resp) throws Exception{ //取得要查询雇员的编号 Integer id=Integer.parseInt(req.getParameter("id")); Emp emp = empService.findEmpById(id)原创 2021-11-11 16:29:41 · 204 阅读 · 0 评论 -
JSTL 对emp中数据按照职位分组查询
调整业务层方法private void groupByJob(List<Emp> list,Map<String, Object> map){ //迭代集合 Iterator<Emp> iter = list.iterator(); //对职位进行判断 while (iter.hasNext()) { Emp emp = iter.next(); if (map.containsKey(emp.getJob())) { //判断集合中原创 2021-11-10 19:34:44 · 115 阅读 · 0 评论 -
将数据遍历到JSP页面(map)
public void getEmpList(HttpServletRequest req, HttpServletResponse resp) throws Exception{ Map<String, Object> map = new HashMap<String,Object>(); //创建出10号部门的员工 List<Emp> list10 = new ArrayList<Emp>(); for (int i = 1; i<6原创 2021-11-10 18:12:44 · 582 阅读 · 0 评论 -
JSTL的使用
批量显示数据public void getEmpList(HttpServletRequest req, HttpServletResponse resp) throws Exception{ //模糊查询关键字 String kw = req.getParameter("kw"); //当前页 Integer cp = Integer.parseInt(req.getParameter("cp")); //每页显示的数量 Integer ls = Integer.parseInt原创 2021-11-10 16:45:29 · 206 阅读 · 0 评论 -
两种包含(动态、静态)
静态包含<%@ include file="被包含的文件路径"%><%@ page pageEncoding="UTF-8"%><h1> 页面的头部信息</h1><%@ page pageEncoding="UTF-8"%><h1> 页面的尾部信息</h1><body> <%@ include file="header.jsp" %> <h1>原创 2021-11-10 13:04:18 · 326 阅读 · 0 评论 -
JSP的概念
与HTML的区别在JSP中可以定义css和js之外家可以定义Java代码,还可以使用el表达式和jstl标签。Java代码必须使用<%Java代码%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.原创 2021-11-09 21:34:52 · 271 阅读 · 0 评论 -
混合表单的简单上传以及图片上传
public abstract class BaseServlet extends HttpServlet{ protected SmartUpload smart = null;//smart声明为实例变量 protected String newFileName = null; public void saveFile(HttpServletRequest req, HttpServletResponse resp) throws IOException, SmartUploadException原创 2021-11-09 18:19:22 · 132 阅读 · 0 评论 -
文件上传基础实现
照片上传<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@page isELIgn原创 2021-11-09 16:11:17 · 223 阅读 · 0 评论 -
验证码的实现
验证码的实现和刷新原创 2021-11-08 20:47:01 · 202 阅读 · 0 评论 -
注解配置(servlet、过滤器、监听器)
注解配置web.xml的配置很庞大,注解就是在每个servlet之上进行路径配置注解配置映射路径@WebServlet@WebServlet(urlPatterns={"/emp/*","/dept/*"})public class EmpServlet extends HttpServlet{}注解配置过滤器(处理字符编码)@WebFilter@WebFilter(urlPatterns="/*")public class MyFilter implements Filter {原创 2021-11-08 15:37:00 · 547 阅读 · 0 评论 -
过滤器(为所有的servlet处理字符编码,登录验证)
定义过滤器``package com.biubiu.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.serv原创 2021-11-08 11:50:33 · 253 阅读 · 0 评论 -
application监听器
监听状态package com.biubiu.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class ContextListener implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent sce)原创 2021-11-07 20:19:15 · 125 阅读 · 0 评论 -
session内置对象监听器
监听状态接口:javax.servlet.http.HttpSessionListener @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ //创建session req.getSession(); System.out.println("访问了servlet方法"); }package com.原创 2021-11-07 19:59:13 · 96 阅读 · 0 评论 -
Request监听器
定义监听器就是对内置对象的状态或者属性变化进行监听并且做出反应的特殊的servlet,可以在web,xml配置。内置对象的状态:产生、销毁属性:增加、删除、修改package com.biubiu.listener;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class RequestListener implements ServletRequest原创 2021-11-07 18:00:21 · 313 阅读 · 0 评论 -
内置对象(config,application)
config内置对象config内置对象主要是用来获取配置文件中的初始参数类型为javax.sevlet.ServletConfig1.在web.xml文件中初始化参数<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID"> <display-name>MvcProject</display-name> <welcome-file-list> <welcom原创 2021-11-07 15:41:25 · 252 阅读 · 0 评论 -
客户端转发,服务器端转发
客户端转发浏览器地址栏信息改变,不再是提交表单的路径客户端转发就是发送了一次新的请求,在整个登录中发送了两次的请求(1.点击登录按钮提交表单时候的请求 2.在servlet中使用sendRediect方法实现跳转(跳转到欢迎界面))客户端发转发之后在request内置对象中的属性就不存在了(因为是一次新的请求,而request只能表示当前请求)如果让客户端跳转之后保存的属性还有效,则可以使用session内置对象。服务器端转发浏览器的地址栏信息没发生改变转发欢迎页面(jsp页面)之后依然原创 2021-11-06 16:39:09 · 380 阅读 · 0 评论 -
Response内置对象
客户端跳转1.浏览器地址栏信息改变2.重新想服务器端发送了新的请求cookie信息cookie信息是客户端和服务端相互辨认的一个唯一标识。在客户第一次访问服务器的时候,服务器端会创建一个标记,这个标记会在容器(服务器端保存一份),之后再将这个标识做一个副本保存到浏览器端,第二次客户只爱吃访问的时候会带上cookie信息之后服务端就可以取得可以验证了。protected void doGet(HttpServletRequest req, HttpServletResponse resp){原创 2021-11-05 18:23:38 · 175 阅读 · 0 评论 -
服务器端跳转
服务器端跳转又叫做服务端转发还可以叫做服务端重定向。用户发送请求到看到数据会经历如下的过程用户发送到请求到服务器服务器会将请求交给对应的控制器(目前是servlet处理,在控制器中调用业务层方法取得数据之后将数据保存到request内置对象中(后续使用前后端分离就不会将数据保存到request内置对象了)然后再跳到页面将保存在request内置对象中的数据再次取出来之后显示到页面(用户看到信息) protected void doGet(HttpServletRequest req, Htt原创 2021-11-05 17:06:35 · 1096 阅读 · 0 评论 -
request内置对象
基础方法 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取浏览器的信息 //System.out.println("浏览器信息:"+req.getHeader("User-Agent")); //取得额外路径 //System.out.println("额外路径:"+req.getPa原创 2021-11-05 15:53:47 · 266 阅读 · 0 评论 -
HTTP协议
HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,允许将超文本标记语言(HTML)文档从web服务器传送到客户端的浏览器http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系的,对http服务器来说,并不知道两个请求来自同一个客户端。为了解决这个问题,web程序引入了Cookie机制来维护状态代理服务器的功能提高访问速度隐藏身份实现均衡负载打开一个网页需要浏览器发送很多次的RequestGet 和Po原创 2021-11-05 13:43:26 · 74 阅读 · 0 评论 -
JavaEE Servlet的生命周期,运行机制
声明周期有如下几个阶段加载类 实例化 初始化 请求处理 销毁其中加载阶段和实例化阶段无法观察,但是初始化阶段、服务、销魂阶段是可以观察到了。初始化调用init方法服务阶段调用service方法销毁阶段调用destroy方法注:默认情况下servlet是在第一次被访问的时候初始化的,初始化之后进入服务阶段(调用的是service方法)。销毁通过关闭服务器的时候销魂。也可以在web.xml文件中进行配置,使得服务器已启动就初始化<servlet> <servlet-name原创 2021-11-05 10:39:24 · 140 阅读 · 0 评论