从java打印到jsp
我正在尝试创建一个Facebook oAuth代码,最终将在浏览器上打印用户的名字、姓氏、电子邮件等。这将由java和jsp实现。这是我的java代码从java打印到jsp,java,jsp,web,Java,Jsp,Web,我正在尝试创建一个Facebook oAuth代码,最终将在浏览器上打印用户的名字、姓氏、电子邮件等。这将由java和jsp实现。这是我的java代码 public class MainMenu extends HttpServlet { private static final long serialVersionUID = 1L; private String code=""; public void service(HttpServletRequest req, HttpServlet
public class MainMenu extends HttpServlet {
private static final long serialVersionUID = 1L;
private String code="";
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
code = req.getParameter("code");
if (code == null || code.equals("")) {
throw new RuntimeException(
"ERROR: Didn't get code parameter in callback.");
}
FBConnection fbConnection = new FBConnection();
String accessToken = fbConnection.getAccessToken(code);
FBGraph fbGraph = new FBGraph(accessToken);
String graph = fbGraph.getFBGraph();
Map<String, String> fbProfileData = fbGraph.getGraphData(graph);
ServletOutputStream out = res.getOutputStream();
out.println("<h1>Facebook Login using Java</h1>");
out.println("<h2>Application Main Menu</h2>");
out.println("<div>Welcome "+fbProfileData.get("first_name"));
out.println("<div>Your Email: "+fbProfileData.get("email"));
out.println("<div>You are "+fbProfileData.get("gender"));
}
public类主菜单扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
私有字符串代码=”;
公共无效服务(HttpServletRequest-req、HttpServletResponse-res)
抛出ServletException,IOException{
代码=请求获取参数(“代码”);
if(code==null | | code.equals(“”){
抛出新的运行时异常(
“错误:在回调中未获取代码参数。”);
}
FBConnection FBConnection=新FBConnection();
字符串accessToken=fbConnection.getAccessToken(代码);
FBGraph FBGraph=新FBGraph(accessToken);
String graph=fbGraph.getFBGraph();
Map fbProfileData=fbGraph.getGraphData(图形);
ServletOutputStream out=res.getOutputStream();
println(“使用Java登录Facebook”);
out.println(“应用程序主菜单”);
out.println(“欢迎”+fbProfileData.get(“名字”);
out.println(“您的电子邮件:+fbProfileData.get”(“电子邮件”);
out.println(“你是”+fbProfileData.get(“性别”);
}
}
我有一个空的jsp文件 使用
HttpServletResponse
res
执行以下操作:
res.getWriter().write("<h2>Application Main Menu</h2>" +
"<h1>Facebook Login using Java</h1>" +
"<div>Welcome "+fbProfileData.get("first_name") +
"<div>Your Email: "+fbProfileData.get("email") +
"<div>You are "+fbProfileData.get("gender"));
res.getWriter().flush();
res.getWriter().close();
res.getWriter().write(“应用程序主菜单”+
“使用Java登录Facebook”+
“欢迎”+fbProfileData.get(“名字”)+
“您的电子邮件:”+fbProfileData.get(“电子邮件”)+
“你是”+fbProfileData.get(“性别”);
res.getWriter().flush();
res.getWriter().close();
是的,正如建议的那样,尝试使用
PrintWriter out=response.getWriter()
由于这与System.out.println在Java中的工作基本相同。尝试使用
response.setContentType(“text/html”);PrintWriter out=response.getWriter()
getWriter不适用于参数。(String)有什么想法吗?你是什么意思?我的意思是我收到了这个错误消息。response.getWriter()代码>不接受任何参数网络编写器不适用于这些参数。