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应用服务器搭建完毕。