最近有个项目,需要搭建服务器,用android客户端来访问。不过自己对服务器来说是完全不懂,可以说是个十足的小白,什么Tomcat,什么J2EE,什么Servlet,SSH,完全不懂啊,不要紧,我有我的大招:”学“。
买了本《Tomcat与Java Web开发技术详解》,看了几天,感觉懂点了,开始上网查web服务器搭建与开发示例,感觉都太乱了,有些还很不靠谱,再加上最近课比较多,纠结了一两个周也没弄好。今天晚上有时间就写了一下,没想到竟然成功了,兴奋之余想到应该还有一些人和我一样,是一个java web开发的新手,还纠结在如何搭建web开发环境,如何连接mysql数据库等等问题上,所以在此写个博客,给大家和将来的自己一个帮助。
好了,下面进入正题(好像每次都要先说几句废话似的,我的错,我的错)。搭建环境所需的所有软件安装包,大家可以到这里免费下载:http://pan.baidu.com/s/1dDgVZd3
我搭建环境步骤是:
- jdk1.6。安装后 环境变量配置如下:
3个系统变量(注意!别选成上面的“用户变量”了):
①新建系统变量
JAVA_HOME
C:\Program Files\Java\jdk1.6.0
这个是安装目录,一般每个人的不一样。后面的2个变量每个人就一样了
②找到path系统变量,在它后面加上
Path
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
加在Path环境变量后面
③新建系统变量
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
不要忘了最前面的“点”
完成,可以在命令窗口中输入java -version检验一下是否配置成功。
- myeclipse8.5。或者安装Eclipse的for Java EE Developers版本。MyEclipse的激活办法为:
1、建立一个任意名称的Java Project
2、在该工程中建立一个名文MyEclipseGen的Java文件(MyEclipseGen.java)
3、运行下面的代码,会在控制台出现" please input register name:",输入任意一个名字,回车后生成序列号,Ctrl+C复制下来
4、点击 MyEclipse菜单中Window→Preferences→MyEclipse→Subscription,在右侧点击“Enter Subscription”
5、在弹出框中Subscriber中输入第3步的名字,在Subscription Code中输入第3步生成的序列号
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class MyEclipseGen { private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself."; public String getSerial(String userId, String licenseNum) { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.add(1, 3); cal.add(6, -1); java.text.NumberFormat nf = new java.text.DecimalFormat("000"); licenseNum = nf.format(Integer.valueOf(licenseNum)); String verTime = new StringBuilder("-").append( new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime())) .append("0").toString(); String type = "YE3MP-"; String need = new StringBuilder(userId.substring(0, 1)).append(type) .append("300").append(licenseNum).append(verTime).toString(); String dx = new StringBuilder(need).append(LL).append(userId) .toString(); int suf = this.decode(dx); String code = new StringBuilder(need).append(String.valueOf(suf)) .toString(); return this.change(code); } private int decode(String s) { int i; char[] ac; int j; int k; i = 0; ac = s.toCharArray(); j = 0; k = ac.length; while (j < k) { i = (31 * i) + ac[j]; j++; } return Math.abs(i); } private String change(String s) { byte[] abyte0; char[] ac; int i; int k; int j; abyte0 = s.getBytes(); ac = new char[s.length()]; i = 0; k = abyte0.length; while (i < k) { j = abyte0[i]; if ((j >= 48) && (j <= 57)) { j = (((j - 48) + 5) % 10) + 48; } else if ((j >= 65) && (j <= 90)) { j = (((j - 65) + 13) % 26) + 65; } else if ((j >= 97) && (j <= 122)) { j = (((j - 97) + 13) % 26) + 97; } ac[i] = (char) j; i++; } return String.valueOf(ac); } public MyEclipseGen() { super(); } public static void main(String[] args) { try { System.out.println("please input register name:"); BufferedReader reader = new BufferedReader(new InputStreamReader( System.in)); String userId = null; userId = reader.readLine(); MyEclipseGen myeclipsegen = new MyEclipseGen(); String res = myeclipsegen.getSerial(userId, "5"); System.out.println("Serial:" + res); reader.readLine(); } catch (IOException ex) { } } }
- Tomcat6。 安装完成后,在Myeclipse中点击window -> Preferrences进行配置,展开左侧Myeclipse->Servers,展开之后选择Tomcat configure Tomcat6.x,然后Tomcat server选择Enable,Tomcat home directory选择Tomcat6的安装目录即可,其他的会自动填写。
- mysql5.0.45.exe安装。
- MySQL-Front_v5.0.rar解压安装来对mysql进行可视化,压缩包里面有个生成key的工具,生成后粘贴进MySQL-Front进行激活。
- mysql-connector-java-5.0.8-bin.jar MySQL的驱动包,下载下来备用,连接数据库时要用到。
到这里基本所有的环境就搭好了,下面开始建立一个新工程:
Myeclipse中依次选择File -> New -> Web Project,起一个名字就好了,我的是HeoServer,(是不是高大上啊,~偷笑~)
右键项目中的WEB-INF目录下的lib,Import -> general -> File System,选择⑥中驱动所在的文件夹,勾选mysql-connector-java-5.0.8-bin.jar文件,点击完成就行了(或者直接打开“我的电脑”,在外面将mysql-connector-java-5.0.8-bin.jar文件复制到该项目WEB-INF文件夹下的lib文件夹中,在Myeclipse中刷新一下项目就行了)。
打开MySQL-Front图形化MySQL编辑界面,新建数据库user,建一张表user_tab,表中添加字段user_name和user_password。当然随便添加几条记录进去,数据库建立完毕。
可省:Myeclipse中选择window -> open Perspective -> Myeclipse DataBase Explorer右击左侧空白new一个,Driver template选择mysql connector/J。Driver Name随便起,URL写为jdbc:mysql://localhost:3306/user这里的user为你的数据库名,user name和password填你配置mysql时的用户名(一般为root)和密码(第④步时安装Mysql时设置的密码),,然后点击Add Jars,选择第⑥步的驱动包,然后finish就好了,完成。现在打开你刚才建的链接你就能找到并看到你刚才建的user数据库了。
返回Java工作区,在WebRoot下new一个jsp文件login.jsp,编辑如下:
<%@ page import="java.io.*"%> <%@ page import="java.util.*"%> <%@ page import="java.sql.*"%> <%@ page contentType="text/html;charset=GB2312"%> <html> <head> <title>login.jsp</title> </head> <body> <% try{ Connection con; Statement stmt; ResultSet rs; Class.forName("com.mysql.jdbc.Driver"); String dbUrl = "jdbc:mysql://localhost:3306/user"; String dbUser = "root"; String dbPwd = "123456"; con = DriverManager.getConnection(dbUrl,dbUser,dbPwd); stmt = con.createStatement(); //stmt.executeUpdate("insert into user_tab (ID,user_name,user_password) values(4,'newname','newpass')"); rs = stmt.executeQuery("select * from user_tab"); out.println("<table border=1 width=400>"); while(rs.next()){ String col1 = rs.getString(1); String col2 = rs.getString(2); String col3 = rs.getString(3); out.println("<tr><td>"+col1+"<td><td>"+col2+"<td><td>"+col3+"<td><tr>"); } out.println("</table>"); rs.close(); stmt.close(); con.close(); }catch(Exception e){out.println(e.getMessage());} %> </body> </html>
注意:dbPwd是你安装MySQL数据库时的密码,我的是123456,别忘了改啊。
右键项目,选择Myeclipse -> Add And Remove...选择工程,点击Add添加进tomcat6服务器即可,然后在Server窗口中右键选择Run就行了,
在浏览器中输入http://localhost:8080/HeoServer/login.jsp,就可以看到你的数据库信息了。
其他的大家可以触类旁通了,比如新建Java类MySQLDataBaseConnection.java:
import java.sql.*; public class MySQLDataBaseConnection { // 定义数据库驱动类 private final String DBDRIVER = "com.mysql.jdbc.Driver"; // 定义数据库连接URL,格式为:"jdbc:mysql://localhost:3306/数据库名" private final String DBURL = "jdbc:mysql://localhost:3306/user"; // 定义数据库连接用户名和密码 private final String DBUSER = "root"; private final String DBPWD = "123456"; // 定义数据库连接对象 private Connection conn = null; // 构造方法,加载驱动 public MySQLDataBaseConnection() { try { Class.forName(DBDRIVER); // 使用Class的forName方法来加载JDBC驱动程序 // 使用DriverManager的getConnection方法,连接数据库, this.conn = DriverManager.getConnection(DBURL, DBUSER, DBPWD); } catch (Exception e) { // TODO Auto-generated catch block System.out.println("此处加载驱动失败!"); } } // 取得数据库连接 public Connection getConnection() { return conn; } // 关闭数据库连接 public void close() { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("数据库关闭失败!"); } } }
好了,就写到这了,也很晚了,睡觉。