springMvc 环境搭建 亲测可用

11 222016

本文采用最小配置,没有采用maven依赖管理。


1、开发环境准备


  1.1 eclipse javeEE 版本

  1.2 apache-tomcat-7.0.65

  1.3 springMvc4.04

  1.5 jdk8u65

  以上为springMvc配置必要文件,如果没有请自行下载或者问度娘,这里不说了。


2、环境配置


 2.1 打开eclipse,新建动态web项目

blob.png

 2.2 创建项目,输入项目名称springMvcTest

blob.png


2.3 点击Next 

blob.png

Default output folder 修改为 WebRoot\WEB-INF\classes,这样项目可以导入myeclipse中,默认也可以


2.4 点击Next, 修改Content directory, 勾选生成web.xml文件

blob.png


2.5 点击Finish 完成项目创建 目录结构如下:


blob.png

将jar包拷贝到lib文件夹下:

blob.png


2.6 修改web.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>springMvc</display-name>
  
  <!--配置 前端控制器 DispatcherServlet -->
  <servlet>
  	<servlet-name>spring-mvc</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	
  	<!-- 设置springmvc配置文件 如果不设置  默认为 WEB-INF/{servlet-name}-servlet.xml -->
  	<init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:springmvc.xml</param-value>
  	</init-param>
  </servlet>
  
  <servlet-mapping>
  
  	<servlet-name>spring-mvc</servlet-name>
  	<!--所有访问地址都有springmvc解析 -->
  	<url-pattern>/</url-pattern>
  	
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


2.7 项目右击 新建 Source Folder 文件夹 为 config,用于存放 各种配置文件。

blob.png


2.8 文件夹名为config(随意)

blob.png



2.9 config 文件夹 新建 springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
           http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
            http://www.springframework.org/schema/context  
           http://www.springframework.org/schema/context/spring-context-4.0.xsd  
           http://www.springframework.org/schema/aop  
           http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
           http://www.springframework.org/schema/tx   
           http://www.springframework.org/schema/tx/spring-tx-4.0.xsd  
           http://www.springframework.org/schema/mvc   
           http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"  
           >  
	<!--扫描包-->
	<context:component-scan base-package="com.lidl.springmvc.controller"></context:component-scan>
	<!-- 自动配置-->
	<mvc:annotation-driven></mvc:annotation-driven>	
</beans>

2.10 src 文件夹下新建包 com.lidl.springmvc.controller 用于存放 控制器,结构如下:


blob.png


2.11 新建控制器 ProductController.java,注解方式

package com.lidl.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ProductController {

	@RequestMapping("test")
	public void test(){
		System.out.println("ttttt");
	}

}


2.12 双击 Tomcat Server 如下设置:


blob.png


2.13 debug 运行 浏览器中 http://localhost/springMvcTest/test

blob.png



看到 ttttt,表示配置成功了~~~  由于没有配置视图等信息。所以会报错。 后面再议~基本的springmvc已经可以跑了

JDBC 连接 Mysql 数据库

10 122016

1、引入jar包

2、

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

public class conn {
	
	Connection conn = null;
	String url = "jdbc:mysql://localhost:3306/mybatis?user=root&password=123456&useUnicode=true&characterEncoding=UTF8";
	
	public Connection getCon() throws ClassNotFoundException, SQLException{
		
		Class.forName("com.mysql.jdbc.Driver");
		conn = DriverManager.getConnection(url);
		Statement stmt = conn.createStatement();
		String sql = "INSERT INTO user(`username`, `password`) VALUES ('username', 'password')";
		
		stmt.execute(sql);
			
	}
}


Java 环境配置及其常见问题

08 212016

1、配置JAVA_HOME

C:\Program Files\Java\jdk1.8.0_101\bin (无;)


2、配置PATH

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;


Java命令行 javac命令不能运行 但 java可以peizhi

原因1:JAVA_HOME路径后面不能加分号(;)


空目录批量写入文件

08 202016
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.util.Scanner;

class SvnDirEmpty
{
	
	public static void main(String[] args)
	{

		//Something notice
		System.out.println("Input The Path:");
		//input
		Scanner sc	= new Scanner(System.in);
		String path	= sc.next();
		
		File file = new File(path);
		//Path verify
		if(!file.isDirectory())
		{
			System.out.println("Path Error!");
			return;
		}			
		eachPath(file);		
		
	}


	//递归
	private static void eachPath(File file)
	{

		File[] fs = file.listFiles();

		//for
		for(int i=0; i<fs.length; i++)
		{
			
			if(fs[i].isDirectory())
			{
				//不为空
				if(fs[i].listFiles().length>0)
				{
					System.out.println(fs[i].getAbsolutePath());
					eachPath(fs[i]);
				}else{
					//写入空文件	
					String path		= fs[i].getAbsolutePath() + "/readme.txt";

					try{
						File newFile	= new File(path);
						FileWriter fileWriter = new FileWriter(newFile);
						BufferedWriter buffer = new BufferedWriter(fileWriter);
						String str = "
						+------------------------------------------------------------\r\n 
						| 解决 svn: E200015: Empty directories is not supported\r\n
						+------------------------------------------------------------\r\n 
						| Author: 石头记<http://1m85.com>\r\n
						+------------------------------------------------------------";
						buffer.write(str);
						buffer.flush();
						buffer.close();
					}catch(Exception ex){
						ex.printStackTrace();
					}

				}
			}
		}
		
	}



}


Java抽象类详解

08 162016

1、抽象类的定义:

使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。从定义中可以看出是不是抽象类决定于类中有没有抽象方法。


2、那什么是抽象方法?抽象方法又有什么特点呢?

“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。

//抽象方法
abstract void something();

//抽象类
public abstract class Test{
    
    abstract void something();
    
    //可以包含非抽象方法
    protect void others{
        System.out.println("我不是抽象方法!");
    }
}


3、通过上面的例子,相信已经对抽象类和抽象方法的定义很清楚了,那抽象类有什么特点?

(1)、抽象类不能被实例化,只能被集成。

(2)、如果集成了一个抽象类,则必须实现父类所有的抽象方法;如果子类没有实现父类的抽象方法,则子类也必须定义为抽象方法。

(3)、抽象方法必须为public或者protected(private,不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。


4、抽象类的意义何在?

(1)、给子类定义了一种规范,所有的子类必须实现父类的抽象方法。