Ես այժմ գտնվում եմ «Գերի պորտալի» ստեղծման գործընթացում: Հենց հիմա ես բախվում եմ խնդրի հետ, և հուսով եմ, որ դուք, մարդիկ, կարող եք ինձ օգնել: Ես ուզում եմ Java Servlet ստեղծել JSON-ի օգտագործմամբ (տվյալների բազայի միացում), բայց չգիտեմ, թե ինչպես համատեղել JSON-ը java-ի հետ: Ես համացանցում փնտրել եմ իմ խնդրի պատասխանները, բայց անհաջող: Ես չգիտեմ, թե ինչպես սկսել դրանով:
Լրացուցիչ տեղեկություն:
- արտաքին սերվերը հասանելի է url-ով
- Ես օգտագործում եմ Eclipse-ը java սերվիլետը պատրաստելու համար
Արդյո՞ք ես նույնպես պետք է օգտագործեմ SQL, երբ ես մոտենում եմ իմ տվյալների բազայի (սերվերին)
Նախապես շնորհակալություն!
Ես ունեմ հետևյալ 3 Java սերվերները: Սրանք ամբողջական չեն.
Երևի պետք է առաջին սերվլետի հետ կապը հաստատեմ։ Երկրորդ 2-ը նույնականացման համար են: Բայց ես վստահ չեմ: Կարո՞ղ եք ինձ բացատրել, թե ինչ են անում այս սերվերները: կամ կարող է անել?
package BL;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class BLServlet
*/
@WebServlet("/BLServlet/*")
public class BLServlet extends HttpServlet {
enum BLServlet_Request {
Unknown,
User
};
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public BLServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
dispatchRequest(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
private int dispatchRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
int rc = 0;
HttpSession _HttpSession = request.getSession();
String s_RequestURL = request.getRequestURL().toString();
String s_RequestURI = request.getRequestURI();
String s_ContextPath = request.getContextPath();
String s_Request_Prefix = s_ContextPath;
String s_Request = s_RequestURI.substring(s_Request_Prefix.length(), s_RequestURI.length());
if (!s_Request.startsWith("/")) {
s_Request = "/" + s_Request;
}
BLServlet_Request _CurrentRequest = requestFromURI(s_Request);
System.out.println("BL servlet Context: " + s_ContextPath + " request URL: " + s_RequestURL + " URI: " + s_RequestURI + " Request: " + s_Request);
switch (_CurrentRequest) {
case User:
rc = new BLRequestUser().handle(request, response);
break;
case Unknown:
System.out.println("BL servlet Context: received unknown request [" + s_Request + "]");
break;
}
return rc;
}
static BLServlet_Request requestFromURI(final String _uri) {
if (_uri.equals("/BLServlet/User")) {
return BLServlet_Request.User;
}
return BLServlet_Request.Unknown;
}
static String requestAsString(final BLServlet_Request _request) {
switch (_request) {
case User:
return "User";
case Unknown:
return "Unknown";
}
return "Unknown";
}
}
package BL;
import java.io.IOException;
import javax.json.Json;
import javax.json.stream.JsonGenerator;
import javax.servlet.http.HttpServletResponse;
public class BLUser {
private String Id = "";
private String Surname = "";
public BLUser(String s_Id) {
Id = s_Id;
if (s_Id.equals("1")) {
Surname = "Doe";
}
}
public void toJson(HttpServletResponse response) throws IOException {
JsonGenerator _JsonGenerator = Json.createGenerator(response.getWriter());
_JsonGenerator
.writeStartObject()
.write("id", Id)
.write("surname", Surname)
.writeEnd();
_JsonGenerator.close();
}
}
package BL;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class BLRequestUser {
public BLRequestUser() {
}
public int handle(HttpServletRequest request, HttpServletResponse response) throws IOException {
String s_UserId = request.getParameter("id");
if (s_UserId == null) {
response.setStatus(400);
}
else {
response.setStatus(200);
response.setContentType("application/json");
BLUser _BLUser = new BLUser(s_UserId);
_BLUser.toJson(response);
}
return 0;
}
}