这个不是首页,不能设置welcome-file,我用了一个过滤器,只要访问用户列表页就会县访问servlet,可是这样或出现死循环?求大神交一个简单的方法
7 个解决方案
#1
你是不是说你想直接访问web-info下的一个页面啊??我语文真心不好,重复看了好几遍才感觉是这个意思。web-info下的页面不直接对外。你在url中输入路径可以指定那个servlet而不是指定那个页面就可以了。
#2
web.xml 片段
<servlet>
<servlet-name>UserList</servlet-name>
<servlet-class>com.xxcorp.projname.modelname.servlet.UserListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserList</servlet-name>
<url-pattern>/userlist</url-pattern>
</servlet-mapping>
....
public class UserListServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse) throws IOException, ServletException {
request.getDispatcher("/userlist.jsp").forward(request, response);
}
}
userlist.jsp
<!doctype html>
<html>
<head>
<meta .....>
............
</html>
<servlet>
<servlet-name>UserList</servlet-name>
<servlet-class>com.xxcorp.projname.modelname.servlet.UserListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserList</servlet-name>
<url-pattern>/userlist</url-pattern>
</servlet-mapping>
....
public class UserListServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse) throws IOException, ServletException {
request.getDispatcher("/userlist.jsp").forward(request, response);
}
}
userlist.jsp
<!doctype html>
<html>
<head>
<meta .....>
............
</html>
#3
不要直接去访问jsp页面,通过转发去访问,也就是你去访问一个servlet,让它帮你转发到你的列表页,这样是比较好的做法。
#4
你就是直接访问用户列表页面,比如UserList这个action的话,那么可以用ajax异步请求直接根据回调函数以json格式来返回数据,然后在页面显示,这个一般都会用框架来做的。否则你返回json格式的话,需要用一些api。
#5
当你输入网址的时候,让它走你的servlet不就可以了吗。你可以直接输入你的servlet作为网址。
#6
按你想的逻辑,你可以 在进入列表页面时候,在js中发起Servlet 请求 之后异步返回数据到页面
#7
异步喽。。。
#1
你是不是说你想直接访问web-info下的一个页面啊??我语文真心不好,重复看了好几遍才感觉是这个意思。web-info下的页面不直接对外。你在url中输入路径可以指定那个servlet而不是指定那个页面就可以了。
#2
web.xml 片段
<servlet>
<servlet-name>UserList</servlet-name>
<servlet-class>com.xxcorp.projname.modelname.servlet.UserListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserList</servlet-name>
<url-pattern>/userlist</url-pattern>
</servlet-mapping>
....
public class UserListServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse) throws IOException, ServletException {
request.getDispatcher("/userlist.jsp").forward(request, response);
}
}
userlist.jsp
<!doctype html>
<html>
<head>
<meta .....>
............
</html>
<servlet>
<servlet-name>UserList</servlet-name>
<servlet-class>com.xxcorp.projname.modelname.servlet.UserListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserList</servlet-name>
<url-pattern>/userlist</url-pattern>
</servlet-mapping>
....
public class UserListServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse) throws IOException, ServletException {
request.getDispatcher("/userlist.jsp").forward(request, response);
}
}
userlist.jsp
<!doctype html>
<html>
<head>
<meta .....>
............
</html>
#3
不要直接去访问jsp页面,通过转发去访问,也就是你去访问一个servlet,让它帮你转发到你的列表页,这样是比较好的做法。
#4
你就是直接访问用户列表页面,比如UserList这个action的话,那么可以用ajax异步请求直接根据回调函数以json格式来返回数据,然后在页面显示,这个一般都会用框架来做的。否则你返回json格式的话,需要用一些api。
#5
当你输入网址的时候,让它走你的servlet不就可以了吗。你可以直接输入你的servlet作为网址。
#6
按你想的逻辑,你可以 在进入列表页面时候,在js中发起Servlet 请求 之后异步返回数据到页面
#7
异步喽。。。