Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
建议从jsp页面调用java dao类方法吗_Java_Database_Jsp_Servlets - Fatal编程技术网

建议从jsp页面调用java dao类方法吗

建议从jsp页面调用java dao类方法吗,java,database,jsp,servlets,Java,Database,Jsp,Servlets,我希望用户在单击view按钮后查看自己的详细信息 我在验证时已将empid设置为session属性,但现在我将用户重定向到以下链接,在该链接中,我只能显示他/她的详细信息 我的疑问是,我们显然可以调用dao类方法从jsp页面获取用户数据,但这是一种良好的编程实践,还是我必须先调用servlet,然后再调用jsp。您的jsp中不能有任何scriptlet/direct Java代码。请避免使用它。关于这方面的更多信息:(无需再次解释使用Scriptlet时遇到的所有问题) 您应该使用一个Ser

我希望用户在单击view按钮后查看自己的详细信息


我在验证时已将empid设置为session属性,但现在我将用户重定向到以下链接,在该链接中,我只能显示他/她的详细信息


我的疑问是,我们显然可以调用dao类方法从jsp页面获取用户数据,但这是一种良好的编程实践,还是我必须先调用servlet,然后再调用jsp。

您的jsp中不能有任何scriptlet/direct Java代码。请避免使用它。关于这方面的更多信息:(无需再次解释使用Scriptlet时遇到的所有问题)

您应该使用一个Servlet来处理JSP的GET请求,Servlet(控制器)将是视图和模型(服务、Dao等)之间的链接。这是一个非常基本的例子:

@WebServlet("/viewuser.jsp")
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        int empid = (Integer)request.getSession().getAttribute("empid");
        //assuming EmployeeService is a service class that has a getEmployee method
        //that will handle the work to a dao to retrieve data from database 
        //or another data source and will return an Employee object
        Employee employee = new EmployeeService().getEmployee(empid);
        request.setAttribute("employee", employee);
        request.getRequestDispatcher("/viewuser.jsp").forward(request, response);
    }
}
然后在viewuser.jsp文件中(简称代码):


姓名:


如何使用标记创建指向servlet的链接?servlet将包含一个url。链接必须指向这样的url。你的意思是使用,点击后会调用视图servlet。我说的对吗?然后它会处理剩下的。@Mayank注意,在我的示例中,基本URL是viewuser.jsp。是的,您甚至可以将servlet映射到HTML或JSP文件。谢谢,我刚刚尝试映射servlet,它调用了get方法,但我想调用post方法:(