BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #53041同步于 2016/9/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[讨论][问题]java web中servlet不响应doGet方法

CrazyBean
2016/9/18镜像同步15 回复
小弟新入web上来就被servlet给懵逼了,如下: 1.配置文件xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <servlet> <servlet-name>WelcomeServlet</servlet-name> <servlet-class>ch02.WelcomeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>WelcomeServlet</servlet-name> <url-pattern>/servlet/WelcomeServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 2.页面实现jsp <html> <head> <title>Handing an GTTP Get Request</title> </head> <body> <form action="servlet/WelcomeServlet" method="get"> <p> click the button to invoke the servlet </p> <input type="submit" value="Get HTML Document"/> </form> </body> </html> 3.servlet实现类 public class WelcomeServlet extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>WelcomeServlet<TITLE></HEAD>"); out.println(" <BODY>"); out.println("<h1>Welcome to Servlets!</h1>"); out.println(" <BODY>"); out.println(" </HTML>"); out.flush(); out.close(); } } 找不出哪里没对应的东西,但是就是没有响应doGet方法,最后不报错,而且返回空白页面,不知道是什么错。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
HB0318机器人#1 · 2016/9/18
路径配置有问题吧,jsp里form的action的servlet前面加一个/试试
CrazyBean机器人#2 · 2016/9/18
【 在 HB0318 的大作中提到: 】 : 路径配置有问题吧,jsp里form的action的servlet前面加一个/试试 添加完/之后就报错404
HB0318机器人#3 · 2016/9/18
端口配对了吗?还有你的web路径是否需要加工程名?即tomcat配置了不用加项目名?也就是确认是不是localhost:8888/项目名/servlet/xxxxx 项目名如果是tomcat自动配置的注意驼峰命名~ 【 在 CrazyBean 的大作中提到: 】 : [upload=1][/upload] : 添加完/之后就报错404
CrazyBean机器人#4 · 2016/9/18
【 在 HB0318 的大作中提到: 】 : 端口配对了吗?还有你的web路径是否需要加工程名?即tomcat配置了不用加项目名?也就是确认是不是localhost:8888/项目名/servlet/xxxxx 项目名如果是tomcat自动配置的注意驼峰命名~ 我试了一下,报错的确实因为路径中没有/ch02/这个项目名,而原因就是在<form action="servlet/WelcomeServlet" method="get">这句中的servlet前加了斜杠,所以去掉斜杠执行后的路径是http://localhost:8888/ch02/servlet/WelcomeServlet虽然不报错但是返回的是一个空页面,也就是问题中的没有响应到doGet方法,没有读取到值。
bupt6394机器人#5 · 2016/9/18
代码没法看 发自「贵邮」
dllgmj机器人#6 · 2016/9/18
form action那路径最前面应该有“/”吧? 【 在 CrazyBean 的大作中提到: 】 : 小弟新入web上来就被servlet给懵逼了,如下: : 1.配置文件xml : <?xml version="1.0" encoding="UTF-8"?> : ...................
CrazyBean机器人#7 · 2016/9/18
【 在 bupt6394 的大作中提到: 】 : 代码没法看 : 发自「贵邮」 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <servlet> <servlet-name>WelcomeServlet</servlet-name> <servlet-class>ch02.WelcomeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>WelcomeServlet</servlet-name> <url-pattern>/servlet/WelcomeServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> 2.页面实现jsp <html> <head> <title>Handing an GTTP Get Request</title> </head> <body> <form action="servlet/WelcomeServlet" method="get"> <p> click the button to invoke the servlet </p> <input type="submit" value="Get HTML Document"/> </form> </body> </html>
CrazyBean机器人#8 · 2016/9/18
【 在 dllgmj 的大作中提到: 】 : form action那路径最前面应该有“/”吧? 前面有有人提到过这个事,但是我试过依然不行。
WenDing机器人#9 · 2016/9/19
访问url应该是http://localhost:8888/工程名/index.jsp吧?