表单信息保存到session,跳转到servlet,一直报404错误

xixiiii 2014-01-13 02:28:45
自学servlet中。做一个简单的表单提交,将信息保存到session中并查看,表单提交没有问题,但是跳转到/servlet/testSession 一直是404错误。。求大神帮忙解决!!!

包servlet下类Register:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class Register extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
request.setCharacterEncoding("GBK");

String name = request.getParameter("name");
String pass = request.getParameter("pass");
String gender = request.getParameter("gender");
String[] hobby = request.getParameterValues("hobby");
String class1 = request.getParameter("class");
String introduce = request.getParameter("introduce");
String s_hobby = "";
if (hobby != null) {
for (int i = 0; i < hobby.length; i++) {
s_hobby = s_hobby + hobby[i];
if (i < hobby.length - 1) {
s_hobby = s_hobby + ",";
}
}
}
HttpSession session = request.getSession();
session.setAttribute("name", name);
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>处理表单</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1 align=center>你好!</h1>");
out.println("<p>姓名:" + name);
out.println("<p>密码:" + pass);
out.println("<p>性别:" + gender);
out.println("<p>爱好:" + s_hobby);
out.println("<p>班级:" + class1);
out.println("<p>自我介绍:");
out.println("<p>" + introduce);
out.println("</body>");
out.println("</html>");
out.println("<p><a href='testSession'>测试session</a>");
}
}

包servlet下类TestSession:

package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class TestSession extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String name = (String)session.getAttribute("name");
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>你好</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1 align=center>你好!" + name + "</h1>");
out.println("</body>");
out.println("</html>");
}

}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id ="WebApp_ID">
<display-name>javaee1</display-name>

<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>servlet.Register</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/servlet/register</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

</web-app>


...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixiiii 2014-01-13
  • 打赏
  • 举报
回复
引用 10 楼 bichir 的回复:
protected void doGet(HttpServletRequest request, HttpServletResponse response) 改成公共方法 public void doGet(HttpServletRequest request, HttpServletResponse response)
恩恩,问题解决了,谢谢哈
bichir 2014-01-13
  • 打赏
  • 举报
回复
protected void doGet(HttpServletRequest request, HttpServletResponse response) 改成公共方法 public void doGet(HttpServletRequest request, HttpServletResponse response)
xixiiii 2014-01-13
  • 打赏
  • 举报
回复
引用 7 楼 bichir 的回复:
你不是用的windows系统么,把<url-pattern>/servlet/testSession</url-pattern> 改成小写 <url-pattern>/servlet/testsession</url-pattern> url请求别忘了改
改了后变成405错误了。。The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).
bichir 2014-01-13
  • 打赏
  • 举报
回复
你不是用的windows系统么,把<url-pattern>/servlet/testSession</url-pattern> 改成小写 <url-pattern>/servlet/testsession</url-pattern> url请求别忘了改
xixiiii 2014-01-13
  • 打赏
  • 举报
回复
引用 5 楼 bichir 的回复:
你看一下上面的url是否是http://localhost:8080/javaee1/servlet/testSession还有,改后要重启一下服务器。
url是对的,重启后还是不行,为什么提交表单的http://localhost:8080/javaee1/servlet/register就可以进入呢
bichir 2014-01-13
  • 打赏
  • 举报
回复
你看一下上面的url是否是http://localhost:8080/javaee1/servlet/testSession还有,改后要重启一下服务器。
xixiiii 2014-01-13
  • 打赏
  • 举报
回复
引用 3 楼 bichir 的回复:
web.xml中没有看到testSession的配置,把他配上
<servlet> <servlet-name>Register</servlet-name> <servlet-class>servlet.Register</servlet-class> </servlet> <servlet-mapping> <servlet-name>Register</servlet-name> <url-pattern>/servlet/register</url-pattern> </servlet-mapping> <servlet> <servlet-name>TestSession</servlet-name> <servlet-class>servlet.TestSession</servlet-class> </servlet> <servlet-mapping> <servlet-name>TestSession</servlet-name> <url-pattern>/servlet/testSession</url-pattern> </servlet-mapping> 这样加了,还是404错误
bichir 2014-01-13
  • 打赏
  • 举报
回复
web.xml中没有看到testSession的配置,把他配上
xixiiii 2014-01-13
  • 打赏
  • 举报
回复
引用 1 楼 the_small_base_ 的回复:
前面有servlet
我跳转的页面地址也有servlet http://localhost:8080/javaee1/servlet/testSession
sxax 2014-01-13
  • 打赏
  • 举报
回复
前面有servlet

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧