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