servlet

java之servlet之文件下载

 ̄綄美尐妖づ 提交于 2020-03-03 00:46:05
1.在页面中,可以直接通过超链接来下载:   a) 如果浏览器能够打开该文件,那么直接在浏览器中显示---不是想要的效果   b) 任何人都能下载,不能进行权限控制 2.通过servlet来进行下载,在servlet中是通过文件流来下载的。 @WebServlet("/download") public class DownloadServlet extends HttpServlet{ @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setCharacterEncoding("utf-8"); resp.setContentType("application/octet-stream"); //解决 以文件形式下载 而不会被浏览器打开 以及中文文件名需要编码 resp.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode("中国", "utf-8")+".txt"); PrintWriter os = resp.getWriter(); String path = this

Spring MVC : JSON数据交互

无人久伴 提交于 2020-03-03 00:31:25
1. pom.xml 添加依赖的jar包 < dependencies > < dependency > < groupId > javax . servlet < / groupId > < artifactId > javax . servlet - api < / artifactId > < version > 3.1 .0 < / version > < scope > provided < / scope > < / dependency > < ! -- SpringMVC相关包,会自动引入其他相关依赖 -- > < dependency > < groupId > org . springframework < / groupId > < artifactId > spring - webmvc < / artifactId > < version > 4.1 .5 . RELEASE < / version > < / dependency > < ! -- JSON 转换相关包,会自动引入其他相关依赖 -- > < dependency > < groupId > com . fasterxml . jackson . core < / groupId > < artifactId > jackson - databind < / artifactId > <

springboot整合Servlet

拜拜、爱过 提交于 2020-03-02 21:13:34
一.整合servlet 1.通过注解扫描完成Servlet组件的注解 1.1 编写servlet /** * SpringBoot整合servlet方式一 * 以往实在web.xml配置 * <servlet> * <servlet-name>FirstServlet</servlet-name> * <servlet-class>com.demo.servlet.FirstServlet</servlet-class> * </servlet> * <p> * <sevlet-mapping> * <servlet-name>FirstServlet</servlet-name> * <url-patter>/first</url-patter> * </sevlet-mapping> */ //注意继承的是 import javax.servlet.http.HttpServlet; @WebServlet(name = "FirstServlet", urlPatterns = "/first") public class FirstServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws

SpringMVC:上传与下载

你离开我真会死。 提交于 2020-03-02 18:43:08
参照了网上相关代码 注意事项: 1 springmvc.xml必须配置: Java代码 <bean id="multipartResolver" class ="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8"/> 2 WEB-INF/lib下必加入:commons-fileupload.jar与commons-io-1.4.jar二个文件 3 表单属性为: enctype="multipart/form-data" 工程项目图片如下: 具体代码如下: FileUploadBean.java Java代码 public class FileUploadBean { private byte [] file; public void setFile( byte [] file) { this .file = file; } public byte [] getFile() { return file; } } Java代码 package net.liuzd.web; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io

ajax小实例

余生长醉 提交于 2020-03-02 18:05:11
AJAX 在javascript中经典三步: 1)createXMLHttpRequest()函数,根据不同的浏览器,创建XMLHttpRequest对象。 2)向服务器发送url,并等待服务器返回响应。 3)判断服务器是否返回响应,正确响应则对取得的结果处理。完成客户端的界面显示。 index.jsp: //tomcat默认的登录页面名称 <%@ 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> <script> //设一个变量 var XMLHttpReq=false; //创建一个XMLHttpRequest对象 function createXMLHttpRequest(){ if(window.XMLHttpRequest){ /

手写简单的web服务器

非 Y 不嫁゛ 提交于 2020-03-02 17:15:23
手写简单的web服务器 一、用到的知识 oop,容器,io,多线程,网络编程,xml解析,反射,HTML,http 1.反射 将Java类中的各种结构映射成一个个Java对象,利用反射对一个类进行解剖,反射是框架设计灵魂 jdk9 用反射创建对象不再用.newInstance()创建对象,而是getConstructor().newInstance(); clz = Class.forName("包名.类名");//创建对象clz.newInstance();//9,不再这样用clz.getConstructor().newInstance(); 2.xml解析 XML 可扩展标记语言 树结构 这里用SAX解析 { //1、获取解析工厂 SAXParserFactory factory=SAXParserFactory.newInstance(); //2、从解析工厂获取解析器 SAXParser parse =factory.newSAXParser(); //3、编写处理器 //4、加载文档 Document 注册处理器 PHandler handler=new PHandler(); //5、解析 parse.parse(Thread.currentThread().getContextClassLoader() .getResourceAsStream("com/sxt

SSM整合基本架构:第二篇

我们两清 提交于 2020-03-02 15:41:04
一. 项目准备 1.1-需求 实现对订单的查询(根据id查询)和更改 1.2-数据库脚本 CREATE DATABASE IF NOT EXISTS ssm; DROP TABLE IF EXISTS `items`; CREATE TABLE `items` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) DEFAULT NULL, `price` FLOAT(10,0) DEFAULT NULL, `pic` VARCHAR(40) DEFAULT NULL, `createTime` DATETIME DEFAULT NULL, `detail` VARCHAR(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; INSERT INTO `items` VALUES ('1', '华为P30手机', '1000', NULL, '2018-03-13 09:29:30', '国货杠杠的'); SELECT * FROM items; UPDATE items SET NAME='华为Mate30',price=9999,pic=NULL,createTime='2018-03

DWR学习——基础配置

点点圈 提交于 2020-03-02 15:23:03
一下分别是dwr的四个文件内容 1.jsp页面内容 <html> <head> <title>First DWR</title><!-- 这里的interface是固定的,DWRDemo是java类地名字,原理处会详细说--> <script type="text/javascript" src="dwr/interface/DWRDemo.js"></script> <script type="text/javascript" src="dwr/engine.js"></script> <script type="text/javascript"> window.onload=init; function init(){ //这个是类.方法(实参,回调函数) DWRDemo.say("Coder",callBackHandler); } //回调函数的写法,date为java方法返回来的值,可以起任何名字 var callBackHandler=function(date){ alert(date); }; </script> </head></html> 2.web.xml <?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"

DWR基本配置

跟風遠走 提交于 2020-03-02 14:46:10
DWR——Direct Web Remoter Servlet 供给那些想要以一种简单的方式使用Ajax 和XMLHttpRequest 的开发者。它具有一套 JavaScript 功能集,它们把从HTML 页面调用应用服务器上的 Java 对象的方法简化了。它操控不同类型的参数,并同时保持了HTML 代码的可读性。 DWR 不是对一个设计的插入,也不强迫对象使用任何种类的继承结构。它和 servlet 框架内的应用配合的很好。 配置步骤: 1. 拷贝dwr.jar 到WEB-INF/ lib 下 下载地址:http://getahead.ltd.uk/dwr/ 2. 在web.xml 中增加dwr 配置, 在 WEB-INF 目录中建立一个dwr.xml [xhtml] view plain copy print ? <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <!-- 设置为调试模式 --> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <

【DWR系列01】-DWR简介及入门例子

扶醉桌前 提交于 2020-03-02 14:41:13
/*--> */ /*--> */ 一、DWR简介    dwr 是一个 Ajax 框架,官方网站: http://directwebremoting.org/dwr/ ,最新版本 3.0.1 ,要求 jdk1.6 及以上。   如下图所示,可以通过DWR来调用Java方法,并通过DWR封装的工具类来对页面元素进行简单处理:   上面的展示是对Ajax的封装,简化了用户的操作,当然最常用的还是逆向Ajax(需要 DWR2.0 及以上版本),就是俗称的服务器端推送:   逆向Ajax相对比较难一点,下面先展示js调用Java方法的例子。 二、DWR示例-js调用Java方法 2.1 创建Web项目   创建 Web 项目,并将 dwr-3.0.1-RELEASE.jar 和 commons-logging-1.2.jar 放入 WEB-INF/lib 下, dwr-3.0.1-RELEASE.jar 是DWR必须要的jar包,最新版本为 3.0.1-RELEASE ,它依赖 commons-logging-1.2.jar 日志包。最终项目结构如下:   若使用Maven,则Maven坐标如下: <dependency> <groupId>org.directwebremoting</groupId> <artifactId>dwr</artifactId> <version>3.0