初衷
(My)Eclipse用久了,初“心”别忘了。一为:找到回忆;二为:初学者。原题也叫,自己手动建立JavaEE项目,命令行编译,部署到Tomcat。
啰嗦点了
本文主要包括Java环境搭建、Tomcat安装、Web项目构建、Java命令行。。。别喷呀,一路走来大家都一样啊哈,看个人情况选择阅读丫 ^_^
1、Java环境搭建
首先下载JDK,点击这里到下载页面,下载完后,直接双击安装,我安装后的效果如下图:
配置JDK环境变量:
环境变量中新建系统变量如下:(以下变量值皆不包括中括号,只为了方便查看)
JAVA_HOME,变量值为:【C:\Program Files (x86)\Java\jdk1.8.0_45】
CLASSPATH,变量值为:【.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar】
JRE_HOME,变量值为:【C:\Program Files (x86)\Java\jre1.8.0_45】 {可选}
修改环境变量中的Path:在原来值最开始出添加:【%JAVA_HOME%\bin; 】也可以在后面,记得是分号分隔。
至此Java环境搭建完毕,自己可以打开命令行运行一下 java -version 测试一下啊哈。详细点见这篇百度经验。
2、Tomcat安装
点击这里到下载Tomcat页面,根据自己需要选择下载版本和安装版或压缩版。我选择的是压缩版,直接解压到你的本地磁盘,相当于你想安装在哪里。我放在这里,请看图:
配置Tomcat环境变量:
类似JDK环境变量,新建:
CATALINA_HOME:【D:\Dev\apache-tomcat-7.0.54】
启动:到tomcat目录下的bin目录下,执行startup.bat ,不出意外,控制台组后一行是:信息: Server startup in 4107 ms 。详情看这篇百度经验。
3、Web项目构建
自目前为止,环境算是都搭建好了,开始构建一个JavaEE项目吧。因为我的代码包括连接Mysql数据库,默认你已经装好了哈。
建立Java文件(我建了两个,一个连接Mysql的,一个Servlet):
1)DataConn.java
代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DataConn {
private static Statement st = null;
private static ResultSet rs = null;
public synchronized static Connection getConn(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/dbname";
String username ="dbuser";
String psw = "dbpsw";
try {
conn = DriverManager.getConnection(url,username,psw);
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}
}
2)WordServlet.java
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
public class WorldServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
Connection conn = DataConn.getConn();
if(conn != null){
res.getWriter().println("connect success");
}else{
res.getWriter().println("connect fail");
}
res.getWriter().println("Hello World!");
}
}
好了,代码算是写好了,第一个用来连接Mysql数据库,记得改下你的数据库配置信息,第二个用来处理请求的Servlet,顺便测试一下Mysql是否连接成功。
那这两个Java文件放在哪里呢?
新建一个目录src,把这两个文件放进去。然后呢?编译它,如下:
假设我们的项目叫做MysqlTest,那就创建一个MysqlTest目录,并把src文件夹移进去,再与src同级目录下建立两个目录,一个叫lib,一个叫webapp。lib文件夹下放置需要依赖的jar包,我这里需要mysql-connector-java-5.1.17-bin.jar和servlet-api.jar,你懂为什么的,对应我那两个java文件哈。webapp文件夹下再新建一个文件夹WEB-INF,再在WEB-INF目录下新建classes目录,这个目录用来存放编译后的.class文件哈,与classes文件夹同级新建一个web.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>World</servlet-name>
<servlet-class>WorldServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>World</servlet-name>
<url-pattern>/world</url-pattern>
</servlet-mapping>
</web-app>
就这么点内容来配置servlet,这里定义了一个servlet叫World,对应的servlet类为WorldServlet,对应的url映射为/world。
OK,可以开始编译了,命令如下:
cd MysqlTest
javac -cp .;lib\* -d webapp\WEB-INF\classes -encoding UTF-8 src\*.java
大意是先切换到MysqlTest目录,然后运行javac ,-cp 依赖的jar等用分号隔开,-d 编译后的class文件输出目录,-encoding 指定编码 ,最后是要编译的源文件。
执行编译后,没有错误的话,就会在classes文件夹下看到两个class文件:DataConn.class、WorldServlet.class。下面就可以开始部署到Tomcat了。
3、部署项目到Tomcat
我这里采用了两种方式,仅供学习参考。
首先,知道项目需要哪些文件部署到Tomcat。我自己新建了一个目录叫Hehe,然后拷贝webapp下的所有文件到这个目录下。我们就叫这个项目为Hehe项目吧。记得把依赖的jar包拷贝到tomcat目录下的lib文件夹,我这里一个是mysql驱动包,而servlet包tomcat是自带的。
第一种方式:直接拷贝Hehe项目到tomcat的webapps目录下,好。这样就可以了,重启Tomcat,运行试试:http://localhost:8080/Hehe/world 没出错应该会看到输出的信息:connect success 。Hello World!
第二种方式:将Hehe项目放到任何你想放置的地方,不包括webapps目录,然后在tomcat目录下的conf文件夹下的server.xml打开,找到Host元素,在其子元素中添加此元素:
<Context path="hehe" docBase="D:\Dev\virtualDir\Hehe" reloadable="true"/>
效果如图:
其中docBase就是你放置Hehe项目的位置,path提供访问的路由,O啦,重启Tomcat,运行试试:http://localhost:8080/hehe/world
4、总结
文章排版的不好,还请需要的人凑合着看哈,有什么问题敬请留言,若有需要源码也请告知。希望对你有点用。^_^
最后上两张项目文件结构图哈:
- 开发时的项目
- 部署后的项目
挺想把最后那一句自动添加到文章尾的删掉–所以呢,欢迎转载,哈哈
|
|
|
V