JavaWeb應用服務器。搭建Java Web項目,配置Tomcat并啟動服務。
1) 安裝jdk,Java Web開發工具MyEclipse,服務器Tomcat。(本文采用jdk版本是jdk-7u13-windows-i586_ok_32位_jdk1.7.exe;開發工具MyEclipse版本是myeclipse-10.7-offline-installer-windows.exe需要破解,服務器Tomcat采用apache-tomcat-6.0.44.exe)。
2) MyEclipse配置Tomcat服務器:打開MyEclipse,點擊Window->Preferences->MyEclipse->Servers->Tomcat->Tomcat 6.x,在頁面中Tomcat home directory后面點擊Browse,選擇Tomcat安裝目錄,將Tomcat 6.x server下面的Enable選中,點擊Apply->OK。如下圖所示:
3) 創建Java Web項目:打開MyEclipse,點擊File->New->Web Project,在頁面中,Project Name框中輸入項目的名稱,例如MyAppServer,在J2EE Specification Level單選框中選擇Java EE 6.0。如下圖所示:
點擊Finish,生成項目目錄,如下圖所示:
4) 向項目中導入jar包,復制jar包粘貼到WebRoot/WEB-INF/lib目錄下。如下圖所示:
jar包說明如下:
json-lib-2.2.3-jdk13.jar是使用json傳值所需jar包
mysql-connector-java.jar是使用jdbc連接數據庫所需jar包
還有一些常用API對應的jar包,如下所示:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.4.jar
commons-logging-1.1.jar
ezmorph-1.0.4.jar
5) 創建package目錄和Java源碼,在src目錄下創建包和Java代碼,如下圖所示:
各個package功能說明如下:
com.farsight.dao: DAO層用于存儲數據,所有java類都是封裝對數據表進行增刪改查的操作。
com.farsight.logic:邏輯層用戶接收App傳來的數據,進行邏輯操作后,將App需要的數據返回去。
com.farsight.bean:Bean模塊用于對數據封裝。
Java代碼說明如下:
BaseDao.java文件是所有Dao的父類,封裝了公有方法獲取數據庫連接。源碼如下:
package com.farsight.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class BaseDao {
public Connection getConnection(){
//apptest為我們創建的數據庫名
String url = "jdbc:mysql://localhost/apptest";
String user = "root";//登錄mysql用戶名
String password = "tiger";//登錄mysql密碼
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");//加載mysql驅動
conn= DriverManager.getConnection(url,user,password);//獲取數據庫連接
} catch (ClassNotFoundException e) {
System.out.println("加載驅動失敗!");
} catch (SQLException e) {
System.out.println("獲取數據庫連接失敗!");
}
return conn;
}
}
UserDao.java封裝了對user表的增刪改查方法,本例子只寫了增加用戶和查詢所有用戶的方法。源碼如下:
package com.farsight.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.farsight.bean.User;
public class UserDao extends BaseDao {
Connection conn = null;
public UserDao(){
conn = getConnection();
}
//向數據庫表user中添加數據,數據封裝在參數user對象中
public boolean addUser(User user){
int result = 0;
if(conn!=null){
try {
//創建會話
PreparedStatement pstm = conn.prepareStatement("insert into user(name,pwd)"+ " values(?,?)");
pstm.setString(1, user.getName());//向會話中的第1個參數傳值
pstm.setString(2, user.getPwd());//向會話中的第2個參數傳值
result = pstm.executeUpdate();//執行并返回結果
} catch (SQLException e) {
System.out.print("數據異常!");
}
}
if(result>0){//如果返回結果即影響行數大于0,代表操作成功
return true;
}else{
System.out.println("添加數據失敗!");
return false;
}
}
//從數據庫表user中查詢所有數據
public ArrayList
ArrayList
if(conn!=null){
String sql = "select * from user";
try {
PreparedStatement pstm = conn.prepareStatement(sql);
ResultSet rs = pstm.executeQuery();
while(rs.next()){//將從數據庫中取出每一條數據封裝一個User對象,多條記錄對應多個User對象添加到ArrayList中
User u = new User();
u.setId(rs.getInt("id"));
u.setName(rs.getString("name"));
u.setPwd(rs.getString("pwd"));
resultList.add(u);
}
} catch (SQLException e) {
System.out.println("==============="+e.getMessage());
e.printStackTrace();
}
}
return resultList;
}
}
LoginAction.java文件負責處理App發送的請求,獲取傳來的參數進行相應操作后,將結果返回給App端。源碼如下:
package com.farsight.logic;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import com.farsight.bean.User;
import com.farsight.dao.UserDao;
public class LoginAction extends HttpServlet {
public LoginAction(){
super();
}
@Override
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//設置返回App的字符集等設置信息
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
//獲取app傳過來的值
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
//將app傳的值封裝在User對象中,為調用數據庫時使用
User user = new User();
user.setName(name);
user.setPwd(pwd);
//創建UserDao對象,執行增加User方法
UserDao dao =new UserDao();
boolean result = dao.addUser(user);
//將結果返回給App端
PrintWriter out = response.getWriter();
if(result) {
out.println("錄入成功");
} else {
out.println("錄入失敗");
}
out.flush();
out.close();
}
}
User.java負責封裝數據,可以看到LoginAction.java調用UserDao.java中方法時,傳入的參數是User對象。源碼如下:
package com.farsight.bean;
//類中屬性和表User中列一一對應,并提供getter和setter方法
public class User {
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
6) 配置web.xml文件。在WebRoot/WEB-INF目錄下有web.xml,配置整個項目信息。增加配置信息如下:
7) 部署項目,啟動服務。在菜單欄中點擊圖標 ,進行部署。在Project中選擇項目MyAppServer,點擊Add,在Server框中選擇Tomcat6.x,點擊Finish。提示Successfully deployed代表部署成功,然后點擊OK。如下圖所示:
點擊部署圖標后面的圖標 代表啟動服務。點擊Tomcat 6.x 點擊Start。在控制臺Console窗口可以看到輸出。
8) 檢測服務器搭建是否成功。打開瀏覽器,輸入下列網址:
//localhost:8080/MyAppServer ,如果出現下列界面,代表Java Web服務搭建成功。
至此,我們JavaWeb應用服務器搭建完畢。