显示空白页的Java Servlet

时间:2018-05-16 18:58:05

标签: java jsp netbeans ejb stateless-session-bean

我创建了一个简单的EJB应用程序,通过在JSP页面上创建一个简单的计算器来演示Session Bean。 对于无状态SessionBean。

的index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
    <div>Calculator</div>
        <form action="NewServlet" method="post">
            value 1:<input type="text" name="v1"><br>
            value 2:<input type="text" name="v2"><br>
            <input type="radio" name="g" value="1"> ADDITION <br>
            <input type="radio" name="g" value="2"> SUBTRACT <br>
            <input type="radio" name="g" value="3"> DIVIDE <br>
            <input type="radio" name="g" value="4"> MULTIPLY <br>
            <input type="submit" value="=">
        </form>
    </body>
</html>

NewSessionBean.java

package com;
import javax.ejb.Stateless;
@Stateless

public class NewSessionBean implements NewSessionBeanLocal {
@Override
public int sub(int a, int b) {
    return (a-b);
}
@Override
public int add(int v1, int v2) {
    return v1+v2;
}

@Override
public int mul(int v1, int v2) {
    return v1*v2;
}

@Override
public int div(int v1, int v2) {
    return v1/v2;
}

}

NewServlet.java

package com;
import com.NewSessionBeanLocal;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="NewServlet", urlPatterns={"/NewServlet"})
public class NewServlet extends HttpServlet {

    @EJB
    private NewSessionBeanLocal newSessionBean;
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
            PrintWriter out=response.getWriter();
            try {
            int v1=Integer.parseInt(request.getParameter("v1"));
            int v2=Integer.parseInt(request.getParameter("v2"));
            String f=request.getParameter("g");
            int result=0;
            if(f.equals("1"))
            {
             result=newSessionBean.add(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }     
            else if(f.equals("2"))
            {
             result=newSessionBean.sub(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }    
            else if(f.equals("3"))
            {
             result=newSessionBean.div(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }    
            else
            {
             result=newSessionBean.mul(v1, v2);
             out.println("<h1>result =>"+result+"<h1>");
            }    
            }
            finally{
                out.close();
            }
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }

}

编写程序后,我转到项目文件夹(EnterpriseApplication3)右键单击=&gt; properties =&gt; run =&gt;相对网址:/index.jsp。 因此,当我构建并运行项目时,它应该从index.jsp页面开始。 Index.jsp页面工作正常,但是当我按下提交时,我收到的NewServlet页面是空白的。

浏览器:Chrome,Mozilla,IE(所有最新版本)。 index.jsp Page

0 个答案:

没有答案