ideaJ+maven+javaweb实践: sevlet实现upload&download,javaIO代码
Posted 头鹰在学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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代码的主要内容,如果未能解决你的问题,请参考以下文章
替换 JavaScript 文件中的 Maven Archetype 属性