JSP+Servlet编译出错问题

yangguansandie 2006-08-29 10:44:30
源代码如下:
UserLogin.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Login</title>
</head>
<body><center>
<form action="/UserLoginServlet" method="POST">

用户:
<input type="text" name="userid"><br/>
密码:
<input type="password" name="password"><p>

<input type="submit" value="提交">
<input type="reset" value="取消">
</form></center>
</body>
</html>



UserLoginServlet.java

import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class UserLoginServlet extends HttpServlet {

/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

try {
String userid = request.getParameter("userid");
String password = request.getParameter("password");
Connection con;
Statement stmt;
ResultSet rs;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:sql","","");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from user_info");
while (rs.next()) {
if ((userid.equals(rs.getString("userid"))) &&
(password.equals(rs.getString("password")))) {
RequestDispatcher dis=request.getRequestDispatcher("/Main.jsp");
dis.forward(request,response);
} else {
RequestDispatcher dis=request.getRequestDispatcher("/UserLogin.jsp");
dis.forward(request,response);
}
}
} catch (Exception e) {
e.printStackTrace();
}

out.close();
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}

这些代码实现的是:从JSP运行现实登陆页面,输入存在于数据库中的用户名和密码后,提交给Servlet处理。运行成功的话,会跳转到Main.jsp这个欢迎页面。可是我编译UserLogin.jsp后,输入用户名和密码后(于数据库中的正确相匹配)却提示如下错误:

HTTP Status 404 - /UserLoginServlet

--------------------------------------------------------------------------------

type Status report

message /UserLoginServlet

description The requested resource (/UserLoginServlet) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.9

请各位帮忙看看,是哪里出错了。我个人感觉,应该是JSP没有连接好Servlet的问题,可是不知道哪里改。
问题得到解决,立即给分!
...全文
473 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
best_threewood 2006-08-29
  • 打赏
  • 举报
回复
配置xml文件的时候一定要细心,有一点错都不行,最好使用一些IDE工具。
snailman 2006-08-29
  • 打赏
  • 举报
回复
<form action="/UserLoginServlet" method="POST">
改为:
<form action="servlet/UserLoginServlet" method="POST">
snailman 2006-08-29
  • 打赏
  • 举报
回复
如zuguanqun(小群) 所说

去web.xml里面设置一下servlet
<servlet>
<servlet-name>Hello</servlet-name>
<!-- 在线面添上你servlet的路径 -->
<servlet-class>com.tvd.servlet.Hello</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Hello</servlet-name>
<!--此处我觉得应该加上 /servlet/ -->
<url-pattern>>/servlet/HelloWorld</url-pattern>
</servlet-mapping>
zhangj0571 2006-08-29
  • 打赏
  • 举报
回复
web.xml中没有部署好你的servlet
yangc_83 2006-08-29
  • 打赏
  • 举报
回复
部署下就行了
zuguanqun 2006-08-29
  • 打赏
  • 举报
回复
去web.xml里面设置一下servlet
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>com.tvd.servlet.Hello</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
zhmt 2006-08-29
  • 打赏
  • 举报
回复
(/UserLoginServlet) is not available.
servlet没设置好。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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