在开始之前我们先看一段代码:
public class SampleTest {
public static void main(String[] args) {
SampleTest st = new SampleTest();
st.fun("haha", 123);
}
public void fun(String text, int num) {
System.out.println(text + "--" + num);
}
}
执行后会输出
haha--123
那么我们来关注一下fun()方法,该方法有两个参数,字符串型的text,整形的num。当main()方法调用它的时候就把haha和123这两个值传给了fun()方法,也即,在fun()方法里能拿到haha和123这两个值。我们抽象一下,把main()方法想像成前台页面,把fun()方法想像成接收前台页面提供的数据的控制器,是不是就对应于JavaWeb企业开发中的页面与控制器的交互了?
上面这部分理解了后,我们就正式开始了。
尽管说是实现自己的控制层框架,但其核心还是依赖普通servlet的,在功能上又借鉴了Struts2和SpringMVC的用法。所以想要继续阅读,请预先理解如下内容:
- 熟悉普通servlet调用过程,理解JavaWeb工程各目录含义如src、WebRoot、WebContent、WEB-INF、lib、classes等
- 熟悉Struts2/SpringMVC的接值方式
- 熟悉java的反射、注解、枚举类等概念
- 熟悉git,仅知道它是个和SVN类似的代码管理工具即可
- 熟悉eclipse的使用
- 熟悉maven的使用(环境变量的配置及基本命令)
- .......
我们要做的第一件事就是建立一个工程,此处本人将使用纯手工的方式建立一个Maven Web工程,具体如下:
- 在G盘下建立一个文件夹叫_ws_idea
- 再在其下建立一个do-c文件夹,以后就以此为do-c的根目录
然后我们在根目录下建立一个pom.xml,它只是一个普通的文件文件,但注意不要随意更改文件名。它的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<artifactId>do-c</artifactId>
<groupId>com.billy.jee</groupId>
<version>1.1-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
需要说明的是,上面配置文件表明我们做了如下工作:
- 建立了一个web工程
- 引用了JUnit-4.11.jar和servlet-api-2.5.jar这两个jar包,前者作用域为测试,后者不会复制到WEB-INF/lib目录下,我们要使用的HttpServletRequest等类都在其下
- maven使用jdk1.7来编译我们的java源文件,不过暂时还没有
我们在Windows的命令行下切换到do-c根目录,执行maven命令mvn clean package
,该命令的执行有如下几个要点:
- 执行mvn命令需配置maven的环境变量,和java的环境变量类似,可在网上搜索得到
- 执行mvn命令其实是maven对当前目录下的pom.xml的解析并执行相应的命令如打包、编译、安装等
好,今天就至此为止吧。下篇我们将开始编写java代码。
顺便说一下,该系列博客的代码已托管在git.oschina.net里。具体链接是http://git.oschina.net/leaflife/do-c