本文介紹的是在Mac下搭建的,Windows下也差不多。文章看起來步驟很多,其實(shí)很多都是很簡(jiǎn)單的,動(dòng)手搞搞很快就結(jié)束了。廢話不多說直接開始。
一、準(zhǔn)備工作:
1、MyEclipse 2016 ,激活碼這里拿 激活
2、Tomcat,隨便哪個(gè)版本,需要哪個(gè)就下哪個(gè),本文使用MyEclipse自帶的Tomcat 7
3、下載 Struts2,本文使用的是 Struts-2.3.32
這個(gè)安裝下載沒什么難度啦,就不說了。
二、搭建服務(wù)器
1、配置Taomcat
打開MyEclipse,在MyEclipse中點(diǎn)擊MyEclipse -> 配好設(shè)置 -> myeclipse -> servers-> Runtime Environments,默認(rèn)MyEclipse自帶一個(gè)Tomcat 7,如果需要其他版本可以自己創(chuàng)建。不使用MyEclipse自帶,創(chuàng)建Tomcat,上圖中點(diǎn)擊 Add... ,選擇需要?jiǎng)?chuàng)建的Tomcat版本,再將自己下載的Tomcat文件導(dǎo)入就可以了。


2、新建工程
在MyEclipse中點(diǎn)擊File -> New -> Web Project 或者在MyEclipse 項(xiàng)目列表的空白面板右擊也可以創(chuàng)建

接著輸入項(xiàng)目名稱,其他采用默認(rèn)的,直接Finish就好了。

3、工程配置
3.1、首先打開下載好的 Struts 文件,apps -> struts2-blank.war ,找到struts2-blank.war文件,并解壓得到以下三個(gè)文件。

3.2、將WEB-INF的lib目錄下的所有文件、classes目錄下的struts.xml以及WEB-INF目錄下的web.xml拷貝到項(xiàng)目中的相應(yīng)位置



四、啟動(dòng)Tomcat
在啟動(dòng)Tomcat前,需要將新建的項(xiàng)目加入到Tomcat中,(如果沒有 Servers ,選擇Window -> Show View -> Other...,在輸入框內(nèi)搜索servers)按照下圖操作:


接著就可以啟動(dòng)Tomcat了,在切到Console看log信息,看到Server startup in **** ms(**** 表示啟動(dòng)時(shí)間) 這個(gè)就是表示啟動(dòng)成功了。

五、前后端交互
1、在src下創(chuàng)建一個(gè)xyzcwb包,xyzcwb下建個(gè)Java文件。就可以開始擼代碼啦

LoginAction.java 代碼
package xyzcwb;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private String userName;//用戶名
private String password;//密碼
/**
* 登錄
* */
public void login() throws IOException {
System.out.print("12345");
//這個(gè)是和客戶端交互的類
HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter writer = response.getWriter();
//模擬賬號(hào)和密碼驗(yàn)證
if (userName.equals("123456") && password.equals("123456")) {
//這個(gè)是可以返回給客戶端的數(shù)據(jù)
writer.write("login succeed");
}
else {
writer.write("username or password error");
}
writer.flush();
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
寫完代碼,還要配置,這樣才能被訪問到;前往 struts.xml 加入<action name = "login" class = "xyzcwb.LoginAction" method = "login" ></action>,這樣客戶端就可以訪問login 方法了。

訪問的鏈接:http://本機(jī)IP地址:8080/項(xiàng)目名稱/方法
2、編寫客戶端,這里采用Get請(qǐng)求獲取數(shù)據(jù)
NSURL *url = [NSURL URLWithString:@"http://192.168.10.125:8080/WebServer/login?userName=123456&password=123456"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
if (error == nil) {
//項(xiàng)目中返回的是字符串格式,所以沒有采用JSON解析
NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}
else }
NSLog(@"%@",[error description]);
}
}];
[dataTask resume];
