Java 如何在应用程序启动时触发servlet执行?
[使用JEE、MVC、servlet和JSP] 在Java 如何在应用程序启动时触发servlet执行?,java,jsp,servlets,model-view-controller,Java,Jsp,Servlets,Model View Controller,[使用JEE、MVC、servlet和JSP] 在web.xml中,我指定home.jsp页面作为应用程序入口点: <welcome-file-list> <welcome-file>/home.jsp</welcome-file> </welcome-file-list> /home.jsp 在我的应用程序中,我有下一个servlet: @WebServlet("/show") public class ShowPostsContr
web.xml
中,我指定home.jsp
页面作为应用程序入口点:
<welcome-file-list>
<welcome-file>/home.jsp</welcome-file>
</welcome-file-list>
/home.jsp
在我的应用程序中,我有下一个servlet:
@WebServlet("/show")
public class ShowPostsController extends HttpServlet {
private static final long serialVersionUID = 1L;
@EJB
private PostDAOLocal postDao;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
List<Post> posts = null;
String sort = request.getParameter("sort");
// current page number
int page = Integer.parseInt(request.getParameter("page"));
// the number of entries to show on a "page"
int postsPerPage = Integer.parseInt(request.getParameter("postsPerPage"));
if(sort.equals("byVisitors"))
posts = postDao.getMostVisitedPosts();
else if(sort.equals("byComments"))
posts = postDao.getMostCommentedPosts();
else
posts = postDao.getNewestPosts(page, postsPerPage);
request.setAttribute("posts", posts);
RequestDispatcher dispatcher = request.getRequestDispatcher("home.jsp");
dispatcher.forward(request, response);
}
@WebServlet(“/show”)
公共类ShowPostsController扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
@EJB
私人邮政局本地邮政局;
受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException
{
列表帖子=null;
String sort=request.getParameter(“sort”);
//当前页码
int page=Integer.parseInt(request.getParameter(“page”);
//“页面”上显示的条目数
int postsPerPage=Integer.parseInt(request.getParameter(“postsPerPage”);
if(排序等于(“按访客”))
posts=postDao.getMostVisitedPosts();
else if(sort.equals(“byComments”))
posts=postDao.getMostCommentedPosts();
其他的
posts=postDao.getNewestPosts(第页,postsPerPage);
request.setAttribute(“posts”,posts);
RequestDispatcher=request.getRequestDispatcher(“home.jsp”);
转发(请求、响应);
}
现在,在应用程序启动时,如何在加载
home.jsp
页面之前调用此servlet?(因为我想在home.jsp
上显示从数据库提取的一些数据,并在servlet的doGet
方法中设置为请求属性)在应用程序启动时加载servlet吗?您需要编辑web.xml
<servlet>
<servlet-name>******</servlet-name>
<display-name>******</display-name>
<servlet-class>******</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
******
******
******
1.
在应用程序启动时加载servlet您需要编辑web.xml吗
<servlet>
<servlet-name>******</servlet-name>
<display-name>******</display-name>
<servlet-class>******</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
******
******
******
1.
在应用程序启动时加载servlet您需要编辑web.xml吗
<servlet>
<servlet-name>******</servlet-name>
<display-name>******</display-name>
<servlet-class>******</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
******
******
******
1.
在应用程序启动时加载servlet您需要编辑web.xml吗
<servlet>
<servlet-name>******</servlet-name>
<display-name>******</display-name>
<servlet-class>******</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
******
******
******
1.
现在,在应用程序启动时,如何在加载home.jsp页面之前调用这个servlet
如果“在应用程序启动时”的意思是“当用户使用默认路径首次访问应用程序时”,并且您只希望在默认情况下调用servlet而不是jsp,那么请尝试在欢迎文件列表中用/show
替换/home.jsp
,例如:
<welcome-file-list>
<welcome-file>/show</welcome-file>
</welcome-file-list>
现在,在应用程序启动时,如何在加载home.jsp页面之前调用这个servlet
如果“在应用程序启动时”的意思是“当用户使用默认路径首次访问应用程序时”,并且您只希望在默认情况下调用servlet而不是jsp,那么请尝试在欢迎文件列表中用/show
替换/home.jsp
,例如:
<welcome-file-list>
<welcome-file>/show</welcome-file>
</welcome-file-list>
现在,在应用程序启动时,如何在加载home.jsp页面之前调用这个servlet
如果“在应用程序启动时”的意思是“当用户使用默认路径首次访问应用程序时”,并且您只希望在默认情况下调用servlet而不是jsp,那么请尝试在欢迎文件列表中用/show
替换/home.jsp
,例如:
<welcome-file-list>
<welcome-file>/show</welcome-file>
</welcome-file-list>
现在,在应用程序启动时,如何在加载home.jsp页面之前调用这个servlet
如果“在应用程序启动时”的意思是“当用户使用默认路径首次访问应用程序时”,并且您只希望在默认情况下调用servlet而不是jsp,那么请尝试在欢迎文件列表中用/show
替换/home.jsp
,例如:
<welcome-file-list>
<welcome-file>/show</welcome-file>
</welcome-file-list>
好的,我已经在@WebServlet中添加了loadOnStartup=1
作为参数(我正在使用注释)。但现在,如果您查看servlet内容,我正在从数据库读取一些数据(posts
),将其作为request.setAttribute(“posts”,posts)添加到请求中
并转发到home.jsp
。如何在应用程序启动时执行相同的操作?因为在home.jsp
上,我正在显示那些帖子
数据。为什么不在servlet上设置会话中需要的任何内容。此外,在home.jsp上,您可以在应用程序启动时从会话访问所需的数据上面没有请求
那么我如何使用会话呢?是的。你到底需要做什么?我肯定会有另一种方法来做。如果你查看servletdoGet
方法内容,我想在appstart上调用DAO
对象上的方法getNewestPosts
,并以某种方式传递结果到我正在读取这些数据的home.jsp
页面。好的,我在@WebServlet中添加了loadOnStartup=1
作为参数(我正在使用注释)。但现在,如果您查看servlet内容,我正在从数据库读取一些数据(posts
),将其作为request.setAttribute(“posts”,posts)添加到请求中
并转发到home.jsp
。如何在应用程序启动时执行相同的操作?因为在home.jsp
上,我正在显示那些帖子
数据。为什么不在servlet上设置会话中需要的任何内容。此外,在home.jsp上,您可以在应用程序启动时从会话访问所需的数据上面没有请求
那么我如何使用会话呢?是的。你到底需要做什么?我肯定会有另一种方法来做。如果你查看servletdoGet
方法内容,我想在appstart上调用DAO
对象上的方法getNewestPosts
,并以某种方式传递结果到我正在读取这些数据的home.jsp
页面。好的,我在@WebServlet中添加了loadOnStartup=1
作为参数(我使用ann