javaweb
BryantLmm
努力写好每一行代码
展开
-
java文件上传与下载
今天我们来看一下java web中的文件上传与下载 1.首先我们给出一个上传文件的界面,一个jsp页面。<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional原创 2016-12-11 23:22:44 · 437 阅读 · 0 评论 -
Jsp源码浅析(1)
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。 JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言, html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。 首先,我们给出一个结论:Jsp其实也是Servlet。 浏览器向服务器发请求,原创 2017-03-28 22:03:15 · 763 阅读 · 0 评论 -
Jsp语法
1.jsp模板元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观 2.jsp表达式 JSP脚本表达式(expression)用于将程序数据输出到客户端 JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(…) 将数据输给客户端。 JSP脚本表达式中的变量或表达式后面不能有原创 2017-03-28 22:05:47 · 259 阅读 · 0 评论 -
Servlet初步学习
今天我们进入java web部分的学习。 一.首先,我们来看一下Servlet,什么是Servlet。 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开转载 2017-03-24 00:11:52 · 463 阅读 · 0 评论 -
HTTP协议
一.HTTP协议简介 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。 HTTP协议的主要特点可概括如下: 1.支原创 2017-03-26 21:36:49 · 447 阅读 · 0 评论 -
XML总结(一)
今天让我们来重新总结下XML 一.为什么要用XML1.XML是一种通用的数据传输格式,目前应该是XML格式和JSON格式运用的最多,这两种格式各有优劣,以后我们讲到json的时候会对两种格式进行对比。 2.XML格式可以用来描述比较复杂的数据。结构也比较清晰。 3.我们做java web相关的应该都明白,我们用大量的xml文件用来做配置文件。 二.总结最近在工作学习中对xml相关知识的疑问以原创 2017-06-05 23:27:10 · 489 阅读 · 0 评论 -
ehcache的使用
我们知道在CRUD中,一般来说一个项目中执行最多的应该就是查找select了,那么过多的数据库查找必然为降低系统的性能,这时候我们就必须想到要使用缓存了,缓存有很多种,我们近期要看的除了现在做的项目中用到的ehcache之外,还会关注马上要在公司全面使用的redis。作为技术架构组的一员,也是需要自己多研究这些东西,马上消息服务器也将由自己来负责,感觉要学的东西还是很多的。 好了,话不多说,我们先转载 2017-09-20 23:52:53 · 430 阅读 · 0 评论 -
ActiveMQ简介
title:ActiveMQ简介date:2017年10月19日18:51:18ActiveMQ是最大的开源组织Apache推出的开源的,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现的消息中间件(MOM,message oriented middleware)。ActiveMQ能做什么:实现JMS Provider,用来帮助实现高可用,高性能,可伸缩,易用和安全的企业级面向原创 2017-10-26 22:16:05 · 508 阅读 · 0 评论 -
Tomcat是如何加载server.xml的
前言最近在弄一个新的项目,涉及到LDAP服务器,并且前端页面也需要我自己一个人全权负责,之前一直在写服务器端,突然要写页面还是有很大压力的,不过既然要做,就好好做吧。刚好也想好好回顾下SpringMVC相关的知识。而在这之前突然想到之前自己一直都没有好好的去了解Servlet容器的具体实现,这一块基本是我的知识盲区。所以在写前端以及View层之前,我还是先看下我们常用的Servlet容器Tomcat原创 2017-12-24 21:46:57 · 2776 阅读 · 1 评论 -
Tomcat是如何处理web.xml的
前言上一篇文章,我们分析了Catalina的load()方法,这一篇文章我们就来分析下start()方法 public void start() { if (getServer() == null) { load(); } if (getServer() == null) { log.fatal("Cann原创 2017-12-24 21:48:00 · 2388 阅读 · 0 评论 -
Tomcat是如何处理web.xml的(下)
前言上一篇说了那么多,可惜还是只讲完StandardEngine部分,接下来要进入StandardHost和StandardContext了。我们进入到StandardHost的startInternal()方法后,发现和StandardEngine的套路是一样的,都是调用了ContianerBase的startInternal()方法,自己并没有做什么工作,所以就不需要过多的说明了,直接看他的子容原创 2017-12-24 21:50:19 · 874 阅读 · 1 评论 -
Tomcat Connector节点
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />Connector是Service的子节点先看StandardService的startInternal()@Override protected vo原创 2017-12-24 21:51:59 · 858 阅读 · 1 评论 -
Tomcat是如何处理请求的
前言今天我们来看看Tomcat是如何处理请求的。之前已经讲到了 adapter.service(request, response);了,我们就接着这里入手,我们知道adapter对应的是一个CoyoteAdapter。CoyoteAdapterservice(request, response) /** * Service method. */ @Override原创 2017-12-24 21:54:54 · 877 阅读 · 1 评论 -
Cookie和Session
前言最近在看Tomcat的源码,然后想着就把Servlet的相关知识都复习一下吧。自然就需要关注Cookie和Session了。CookieResponse 操作Cookie的方法就一个 addCookie() 通常我们添加Cookie的操作如下Cookie cookie=new Cookie("name","kobe");response.addCookie(cookie);通常我们这样操作只原创 2018-01-17 22:06:05 · 352 阅读 · 0 评论 -
Broken Pipe
Broken Pipe发生的原因当某个进程试图往一个已收到RST的SOCKET连接写数据,就会出现Broken Pipe。 (由于TCP协议层已经处于RST状态了,因此不会将数据发出,而是发一个SIGPIPE信号给应用层,SIGPIPE信号的缺省处理动作是终止程序。)那么确定什么时候TCP会发送RST报文段,就可以确定Broken Pipe发生的具体原因。之前已经分析了TCP RST...原创 2018-08-14 17:52:48 · 4301 阅读 · 0 评论 -
跨域问题总结
前言在如今流行前后端分离开发的时代,我们在PC浏览器端经常会遇到CORS跨域问题。那么今天就结合开发中遇到的问题来对跨域做一个总结。preflight request 预请求之前的后端接口只和微信小程序对接,如今需要接入H5,PC版本。 然后在前端页面出现了Request header field stoken is not allowed by Access-Cont...原创 2018-09-14 11:03:59 · 345 阅读 · 0 评论 -
Java web乱码问题初步探讨
我们之前有讨论过编码的问题,所以现在来到了Java web,出现了乱码问题,我们一定要去好好解决。 一.首先,我们看POST方式访问web资源时的乱码问题。 在这之前,我们需要了解网页中html元素的编码到底是由什么决定的。POST方式请求时请求体中数据的编码格式又是怎样的。 我们来探讨一下网页中html元素的编码到底是由什么决定的。 首先,我们知道,网页作为一个文件有着自己本身的编码,也就原创 2017-03-27 00:25:25 · 375 阅读 · 0 评论 -
mybatis动态sql
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace命名空间,作用就是对sql进行分类化的管理,理解为sql隔离 注意:使用原创 2017-03-18 20:10:42 · 336 阅读 · 0 评论 -
mybatis简介
mybatis是一种ORM框架,对原始的jdbc进行了一定的封装。 我们来看一下mybatis。 1,mybatis配置 SqlMapConfig.xml 此文件作为mybatis的全局配置文件,配置了mybatis运行环境等信息 mapper.xml文件为sql映射文件 文件中配置了操作数据库的sql语句。 此文件需要在SqlMapConfig.xml中加载 2通过mybati转载 2017-03-18 19:45:26 · 399 阅读 · 0 评论 -
jdbc学习:操作元数据,以及ORM框架基础
先上代码package test;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLExcept转载 2016-12-12 22:26:00 · 408 阅读 · 0 评论 -
js注册登录校验
先上代码。<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Form表单提交</title><script type="text/javascript">var flag1=false;var flag2=false;function display(obj){原创 2016-12-07 21:26:08 · 889 阅读 · 0 评论 -
Session&&Cookie
今天让我们看下关于session和cookie的相关知识 一.会话,什么是会话:用户打开一个浏览器,点开n个超链接,访问n个服务器的web资源然后关闭浏览器的过程被称为一个会话过程。 为什么会出现cookie和session: 因为Http协议是无状态的,他没有记忆功能,请求完毕便断开。无法进行跟踪,cookie和session的出现就是为了进行会话跟踪。 二.Cookie cookie是原创 2016-12-07 22:02:09 · 388 阅读 · 0 评论 -
HttpUrlConnection的使用
公司的项目中有用HttpUrlConnection来编写测试类,虽然一直在用它,但是一直都没有对他有个研究,今天就来看看HttpUrlConnection。 先上Demo代码,然后分析几个关键点package wangcc.test;import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataO原创 2016-12-22 22:53:57 · 353 阅读 · 0 评论 -
WebService学习:相关基础知识
一、序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分。但是不得不承认的是WebService真的是一门新兴和有前途的技术,那么WebService到底是什么?何时应该用? 当前的应用程序开发逐步的呈现了两种迥然不同的倾向:一种是基于浏览器的瘦客户端应用程序,一种是基于转载 2016-12-25 13:49:37 · 371 阅读 · 0 评论 -
WebService:编写webService使用实例
一.使用JDK编写WebService 1.开发WebService服务器端 @WebService注解接口,@WebMethod注解方法package wangcc.webservice;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic interface WebServiceInterface原创 2016-12-25 14:48:45 · 452 阅读 · 0 评论 -
框架学习
一.最近一段时间将会写一个框架集成的小项目,以此来对之前学习的知识做一个总结。 该项目集成了Mybatis Spring Struts。 此系列博客主要是贴出一些代码,来回顾其中的知识,总结一些编码过程中所犯的错误。<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://j原创 2017-01-19 20:56:36 · 253 阅读 · 0 评论 -
jsp回顾
今天来回顾一下jsp的相关知识首先,我们要明确一点,jsp是特殊的servlet. jsp会被编译成特殊的java文件,是一种servlet。 jsp专注于展示页面,即view 而servlet则充当控制器,controller 一.jsp的九大内置对象 request 客户端的请求信息 response 服务端的响应信息 page page对象就是指向当前JSP页面本原创 2017-01-19 21:18:49 · 262 阅读 · 0 评论 -
jsp回顾:exception
exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产 生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true, 否则无法编译。他实际上是Java.lang.Throwable的对象. 下面看一个错误提示页面配置实例 如果要配置全局错误页面,需要在web.xml中进行如下配置 <error-page> <error-code>404<原创 2017-01-19 23:31:52 · 498 阅读 · 0 评论 -
学习Spring AOP
首先看一下Spring AOP的相关知识 1)通知(Advice): 定义了切面是什么以及何时使用,描述切面要完成的工作和何时需要执行这个工作 2)连接点(JOINPOINT) 程序能够应用通知的一个时机,这些时机就是连接点,例如方法被调用时,异常被抛出时。 3)切入点(PointCut) 通知定义了切面要发生的故事和时间,那么切入点则通知了故事发生的地点,例如某个类或某个方法原创 2017-02-12 14:54:57 · 261 阅读 · 0 评论 -
学习Spring transaction 事务管理
一.在学习Spring事务管理之前,我们首先要知道为什么要使用事务管理 我们用一个老套的例子来引入:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元;如果银行卡扣钱失败但是ATM却出了1000块,原创 2017-02-12 18:00:30 · 640 阅读 · 0 评论 -
Mybatis学习
首先,我们来看如何配置mybatis文件.<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <properti原创 2017-02-12 23:24:15 · 269 阅读 · 0 评论 -
Mybatis学习二
我们继续研究mybatis中sql的配置 首先,我们看一下配置文件<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namesp原创 2017-02-12 23:26:53 · 246 阅读 · 0 评论 -
Mybatis与Spring结合
我们来看一下Mybatis和Spring的结合使用 首先,我们看一下Spring的配置文件<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XML原创 2017-02-12 23:32:31 · 299 阅读 · 1 评论 -
Spring quartz插件的使用
quartz是一个定时任务组件,非常方便好用<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><!--调度工厂--> <!-- 定时任务 --原创 2017-02-12 23:47:35 · 659 阅读 · 0 评论