ideaJ+maven+javaweb实践: sevlet实现upload&download,javaIO代码
因为工作的机器不让拷贝出来也不让发邮件出来也不让访问外网,所以文件两个PC挪来挪去很麻烦。
决定写一个网页,只有upload和download
ideaJ,maven,java,tomcat 写一个javaweb。
搭建过程如下:
http://blog.csdn.net/myarrow/article/details/50824793
ideaj+maven+javaweb
1.付费版ideaj
2.file-new-project-maven- maven_archetype_webapp -设置groupID和artifectID-保存
3.ctrl+shift+alt+s配置




4.配置tomcat

新增 tomcat-server -local


5.mvn-clean,mvn-compile-start server-localhost:8080
写代码如下:
1.创建一个类,即servlet
2.创建一个jsp页面,用来调用servlet
3.再web.xml中添加好servlet的映射关系
一个简单的doPost和doGet的servlet如下:
1. doGetDemo.java
package com.test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class doGetDemo extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gb2312");
String username = request.getParameter("username");
String password = request.getParameter("password");
out.println("<html>");
out.println("<body>");
out.println("用户名:" + username + "<br>");
out.println("密码:" + password);
out.println("</body>");
out.println("</html>");
}
} 2. userform_doGetDemo.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>用户表单</title>
</head>
<body>
<form action="doGetDemo" method="get">
用户名:<input type="text" name="username"/><br>
密码:<input type="password" name="password"/><br>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>
</body>
</html> <!--jsp页面展示基本的UI,这里的action,再提交按钮操作后,调用了doGetDemo的servlet
该servlet执行了两个动作,获取jsp页面的表单提交数据,然后执行操作,outprint了一下
--> 3.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
<servlet>
<!--对应的javaservlet的名字-->
<servlet-name>doGetDemo</servlet-name>
<servlet-class>com.test.doGetDemo</servlet-class>
</servlet>
<servlet-mapping>
<!--映射的servlet的名字-->
<servlet-name>doGetDemo</servlet-name>
<!--urlpattern是什么?
servlet的url名字,和访问servlet的路径,最终的路径/.../name,name必须要和servlet的名字一样-->
<url-pattern>/doGetDemo</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>doPostDemo</servlet-name>
<servlet-class>com.test.doPostDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>doPostDemo</servlet-name>
<url-pattern>/doPostDemo</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FileRead</servlet-name>
<servlet-class>com.test.FileRead</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileRead</servlet-name>
<url-pattern>/FileRead</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
File类
public class FileTest
{
public static void main(String[] args)
throws IOException
{
// 以当前路径来创建一个File对象
//新建一个file的对象,这个对象,代表的是一个路径,“.”是当前目录的相对路径。
//File类,使用文件路径字符串来创建File实例,该字符串可以是绝对路径,也可以是相对路径
File file = new File(".");
// 直接获取文件名,输出一点
System.out.println(file.getName());
// 获取相对路径的父路径可能出错,下面代码输出null
System.out.println(file.getParent());
// 获取绝对路径
//这里的路径是java虚拟机运行的所在地址,这里输出的是tomcat的bin目录地址
System.out.println(file.getAbsoluteFile());
// 获取上一级路径
System.out.println(file.getAbsoluteFile().getParent());
// 在当前路径下创建一个临时文件 //现在就真的创建了一个文件 aaaXXXXXXXXX.txt
//File tmpFile = File.createTempFile("aaa", ".txt", file); }
}
File 的 exits()方法
File file = new File(".");
System.out.println(file.exists());// true 当前路径存在,返回true
File file1=new File("test.txt");
System.out.println(file1.exists());//true 当前路径有test.txt文件,返回true
File file2=new File("test");
System.out.println(file2.exists());// false 当前路径没有test 文件,返回false
File file3=new File("content.txt");
System.out.println(file3.exists());//false 当前路径没有content.txt,返回false
File file4=new File("D:\\apache-tomcat-9.0.0.M26\\bin\\content.txt");
System.out.println(file4.exists());//true 该绝对路径有content.txt 返回true
ideaJ+maven+javaweb实践: sevlet实现upload&download,javaIO代码的更多相关文章
- Maven最佳实践:版本管理
什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...
- Maven最佳实践:管理依赖
From:http://juvenshun.iteye.com/blog/337405 Maven最佳实践:管理依赖 "If I have seen further it is by sta ...
- Maven 环境隔离实践
现在将SpringMVC中Maven环境隔离实践总结如下: 1. 在pom中配置 <resources> <resource> <directory>src/mai ...
- Maven最佳实践:版本管理【转】
什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用 ...
- 使用Eclipse创建Maven javaweb项目
其实是我自己不会创建Maven JavaWeb项目,就自己瞎蒙了一下,竟然成功了. 这里有个条件就是你的Maven已经在电脑上配好了. 第一步就是File->New->Maven Proj ...
- IDEA+Maven+JavaWeb+tomcat项目搭建(图文并茂,详细)
一.创建Maven项目 1:如果刚打开IDEA,显示的是这个页面,我们直接单击 Create New Project(创建项目) 或者 File-> New-> Project 2:选中左 ...
- Web前端开发最佳实践(9):CSS代码太太乱,重复代码太多?你需要精简CSS代码
前言 提高网站整体加载速度的一个重要手段就是提高代码文件的网络传输速度.之前提到过,所有的代码文件都应该是经过压缩了的,这可提高网络传输速度,提高性能.除了压缩代码之外,精简代码也是一种减小代码文件大 ...
- Web前端开发最佳实践(2):前端代码重构
前言 代码重构是业内经常讨论的一个热门话题,重构指的是在不改变代码外部行为的情况下进行源代码修改,所以重构之前需要考虑的是重构后如何才能保证外部行为不改变.对于后端代码来说,可以通过大量的自动化测试来 ...
- Web前端开发最佳实践(3):前端代码和资源的压缩与合并
一般在网站发布时,会压缩前端HTML.CSS.JavaScript代码及用到的资源文件(主要是图片文件),目的是加快文件在网络中的传输,让网页更快的展现.当然,CDN分发.缓存等方式也是加快代码或资源 ...
随机推荐
- python设计模式第六天【原型模式】
1.定义 使用原型模式复制的对象与原来对象具有一样的结构和数据,有浅克隆和深克隆 2.应用场景 (1)希望复制原来对象的结构和数据胆步影响原来对象 3.代码实现 #!/usr/bin/env pyth ...
- linux 地址解析协议 arp
随便转载,保留出处:http://www.cnblogs.com/aaron-agu/ arp –na #查看 arp –s 123.253.68.209 00:19:56:6F:87:D4 #添加
- SQL 添加索引
使用CREATE 语句创建索引 CREATE INDEX index_name ON table_name(column_name,column_name) include(score) 普通索引 C ...
- word公式大小
下面给出MathType与Word对应的字体关系,大家可以根据自己的实际需求,调整自己的公式大小. MathType与Word对应的字体关系示例 以上给大家详细介绍了调整MathType公式字体大小 ...
- React Router 4.0 基本使用
路由的概念,起初来源于服务端,就是当浏览器访问一个网站的不同页面时,服务端能够正确的返回页面的内容.当访问首页时,它能返回首页的内容,访问关于我们页面时,返回关于我们的内容.可以看到路由就是一种控制和 ...
- bzoj2762-[JLOI2011]不等式组
求 \(x=k\) 时满足一元一次不等式 \(ax+b<c\) 的个数. 解出 \(\frac{c-b}{a}\) 之后取整,得到合法区间,用树状数组维护. 注意 \(a\) 的值域是 \([- ...
- 二、Java多人博客系统-演变
任何项目都是由小到大,逐步演变的.自己写的这个博客系统也不例外. 更新日志如下: 一.2014年底-2015年初 功能及技术: 1.定位为个人网站,介绍自己情况和发布文章等. 2.首页模块有:个人简介 ...
- POJ2763-Housewife Wind-树上单点修改区间求和
这道题可以树链剖分做.但是最近在给学弟搞数据结构复习了LCA树状数组RMQ 然后就搞了一发LCA+树状数组维护. dis数组维护当前点到根节点的权值和.则dis(u,v) = dis[u]+dis[v ...
- 【XSY2787】Mythological VII 贪心
题目描述 有两个指针\(l,r\),初始时\(l=r=k\) 给你\(a_1,\ldots,a_n\),你要移动\(l,r\),\(l\)只能每次向左移一个数,\(r\)只能向右移一个数,要求任意时刻 ...
- linux 开放80端口
必须确保两块都开放 1.云服务器-->安全组开放 比如百度云服务器: 2.linux内置防火墙开放 注意:此处如果不设置开放,即时云端开放了也没用,如果同时存在 80 (拒绝) 80(允许) ...