Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 请求的资源不可用_Java_Html_Servlets_Tomcat7 - Fatal编程技术网

Java 请求的资源不可用

Java 请求的资源不可用,java,html,servlets,tomcat7,Java,Html,Servlets,Tomcat7,我编写了一个Java servlet程序,并通过本地Tomcat 7运行它,但它显示了以下错误: HTTP Status 404 - /skypark/registration type Status report message /skypark/registration description The requested resource is not available. Apache Tomcat/7.0.33 我不知道是什么原因 我的Html页面是 <html> &l

我编写了一个Java servlet程序,并通过本地Tomcat 7运行它,但它显示了以下错误:

HTTP Status 404 - /skypark/registration
type Status report
message /skypark/registration
description The requested resource is not available.
Apache Tomcat/7.0.33
我不知道是什么原因 我的Html页面是

 <html>
 <head>
<title>
User registration
</title>
 </head>
<body>
<form action="registration" method="post">
 <center>
<h2><b>Skypark User Registration</b></h2>
 <table border="0">
<tr><td>
First Name
</td><td>
<input type="text" name="fname"/></br>
</td></tr><tr><td>
Last Name
</td><td>
  <input type="text" name="lname"/></br>
  </td></tr><tr><td>
 UserName
 </td><td>
  <input type="text" name="uname"></br>
  </td></tr><tr><td>
  Enter Password
    </td><td>
  <input type="password" name="pass"></br>
   </td></tr><tr><td>
  Re-Type Password
  </td><td>
  <input type="password" name="pass1"></br>
   </td></tr><tr><td>
   Enter Email ID
  </td><td>
   <input type="email" name="email1"></br>
    </td></tr><tr><td>
  Phone Number
 </td><td>
  <input type="number" name="phone">
 </td></tr><tr><td>
 Gender<br>
 </td></tr><tr><td>
   <input type="radio" name="gender" value="Male">Male</input></br>
  </td></tr><tr><td>
  <input type="radio" name="gender" value="Female">Female</input></br>
  </td></tr><tr><td>
   Enter Your Date of Birth<br>
 </td><td>
  <Table Border=0>
   <tr>
  <td>
  Date
  </td>

  <td>Month</td>

   <td>Year</td>
   </tr><tr>
 <td> <select name="date">
   <option value="1">1</option>
  <option value="2">2</option>
   <option value="3">3</option>
     <option value="4">4</option>
   <option value="5">5</option>
    .
    .
    .
     have some code
    .
    .
    .
  </table>
 <input type="submit" value="Submit"></br>
  </center>
  </form>
</body>
  </html>

用户注册
Skypark用户注册
名字


用户名
输入密码
重新输入密码
输入电子邮件ID
电话号码 性别
男性
女性
输入您的出生日期
日期 月 年 1. 2. 3. 4. 5. . . . 有密码吗 . . .
我的servlet是:

  package skypark;
  import skypark.*;
   import java.io.*;
  import javax.servlet.*;
  import javax.servlet.http.*;
   import java.sql.*;
   public class Registration extends HttpServlet
     {
public static Connection prepareConnection()throws       ClassNotFoundException,SQLException
{
    String dcn="oracle.jdbc.driver.OracleDriver";
    String url="jdbc:oracle:thin:@JamesPJ-PC:1521:skypark";
    String usname="system";
    String pass="tiger";
    Class.forName(dcn);
    return DriverManager.getConnection(url,usname,pass);
}
public void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException
{
    resp.setContentType("text/html");
    PrintWriter out=resp.getWriter();
  try
  {
    String phone1,uname,fname,lname,dob,address,city,state,country,pin,email,password,gender,lang,qual,relegion,privacy,hobbies,fav;

    uname=req.getParameter("uname");
    fname=req.getParameter("fname");
    lname=req.getParameter("lname");
    dob=req.getParameter("date");
    address=req.getParameter("address");
    city=req.getParameter("city");
    state=req.getParameter("state");
    country=req.getParameter("country");
    pin=req.getParameter("pin");
    email=req.getParameter("email1");
    password=req.getParameter("password");
    gender=req.getParameter("gender");
    phone1=req.getParameter("phone");
    lang="";
    qual="";
    relegion="";
    privacy="";
    hobbies="";
    fav="";
    int phone=Integer.parseInt(phone1);

    Connection con=prepareConnection();
    String Query="Insert into regdetails values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    PreparedStatement ps=con.prepareStatement(Query);
    ps.setString(1,uname);
    ps.setString(2,fname);
    ps.setString(3,lname);
    ps.setString(4,dob);
    ps.setString(5,address);
    ps.setString(6,city);
    ps.setString(7,state);
    ps.setString(8,country);
    ps.setString(9,pin);
    ps.setString(10,lang);
    ps.setString(11,qual);
    ps.setString(12,relegion);
    ps.setString(13,privacy);
    ps.setString(14,hobbies);
    ps.setString(15,fav);
    ps.setString(16,gender);

    int c=ps.executeUpdate();

    String query="insert into passmanager values(?,?,?,?)";
    PreparedStatement ps1=con.prepareStatement(query);

    ps1.setString(1,uname);
    ps1.setString(2,password);
    ps1.setString(3,email);
    ps1.setInt(4,phone);

    int i=ps1.executeUpdate();

    if(c==1||c==Statement.SUCCESS_NO_INFO && i==1||i==Statement.SUCCESS_NO_INFO)
    {
        out.println("<html><head><title>Login</title></head><body>");
        out.println("<center><h2>Skypark.com</h2>");
        out.println("<table border=0><tr>");
        out.println("<td>UserName/E-Mail</td>");
        out.println("<form action=login method=post");
        out.println("<td><input type=text name=uname></td>");
        out.println("</tr><tr><td>Password</td>");
        out.println("<td><input type=password name=pass></td></tr></table>");
        out.println("<input type=submit value=Login>");
        out.println("</form></body></html>");
    }
    else
    {
        out.println("<html><head><title>Error!</title></head><body>");
        out.println("<center><b>Given details are incorrect</b>");
        out.println(" Please try again</center></body></html>");
        RequestDispatcher rd=req.getRequestDispatcher("registration.html");
        rd.include(req,resp);
        return;
    }
  }
  catch(Exception e)
  {
      out.println("<html><head><title>Error!</title><body>");
      out.println("<b><i>Unable to process try after some time</i></b>");
      out.println("</body></html>");
      RequestDispatcher rd=req.getRequestDispatcher("registration.html");
      rd.include(req,resp);
      return;
  }
  out.flush();
  out.close();
   }
 }
package天空公园;
输入天空公园*;
导入java.io.*;
导入javax.servlet.*;
导入javax.servlet.http.*;
导入java.sql.*;
公共类注册扩展了HttpServlet
{
公共静态连接prepareConnection()引发ClassNotFoundException、SQLException
{
String dcn=“oracle.jdbc.driver.OracleDriver”;
String url=“jdbc:oracle:thin:@JamesPJ PC:1521:skypark”;
字符串usname=“系统”;
字符串pass=“tiger”;
类别名称(dcn);
返回DriverManager.getConnection(url、usname、pass);
}
public void doPost(HttpServletRequest-req,HttpServletResponse-resp)抛出ServletException,IOException
{
分别为setContentType(“文本/html”);
PrintWriter out=resp.getWriter();
尝试
{
字符串phone1、uname、fname、lname、dob、地址、城市、州、国家、pin、电子邮件、密码、性别、语言、质量、相关地区、隐私、爱好、fav;
uname=req.getParameter(“uname”);
fname=req.getParameter(“fname”);
lname=req.getParameter(“lname”);
dob=请求获取参数(“日期”);
地址=请求获取参数(“地址”);
城市=请求获取参数(“城市”);
状态=请求获取参数(“状态”);
国家=请求获取参数(“国家”);
pin=请求参数(“pin”);
email=req.getParameter(“email1”);
password=req.getParameter(“密码”);
性别=请求获取参数(“性别”);
phone1=请求获取参数(“电话”);
lang=“”;
qual=“”;
relegion=“”;
隐私=”;
爱好=”;
fav=“”;
int phone=Integer.parseInt(phone1);
连接con=prepareConnection();
String Query=“插入regdetails值(?,,,,,,,,,,,,,,,,,,,,,,?)”;
PreparedStatement ps=con.prepareStatement(查询);
ps.setString(1,uname);
ps.setString(2,fname);
ps.setString(3,lname);
ps.setString(4,dob);
ps.setString(5,地址);
ps.setString(6,城市);
ps.setString(7,状态);
ps.setString(8,国家);
ps.固定管柱(9,销);
ps.setString(10,朗);
ps.setString(11,质量);
ps.setString(12,相关区域);
ps.setString(13,隐私);
ps.setString(14,爱好);
ps.setString(15,fav);
ps.setString(16岁,性别);
int c=ps.executeUpdate();
String query=“插入passmanager值(?,?,?)”;
PreparedStatement ps1=con.prepareStatement(查询);
ps1.设置管柱(1,uname);
ps1.设置字符串(2,密码);
ps1.设置字符串(3,电子邮件);
ps1.setInt(4,电话);
int i=ps1.executeUpdate();
if(c==1 | | c==Statement.SUCCESS|NO|u INFO&&i==1 | | i==Statement.SUCCESS|NO_INFO)
{
out.println(“登录”);
out.println(“Skypark.com”);
out.println(“”);
out.println(“用户名/电子邮件”);

out.println(“我认为问题在于这两行:

在html页面中

/Registration
在您的web.xml中

您的操作设置为
注册
,您的url模式需要
注册
(注意大写
R
和小写
R


只要尝试更改它们(两者都相同),就应该可以了

尝试将请求映射到您希望请求调用的方法。例如,如果您使用Spring framework,则需要在您的示例中将web.xml中的servlet url模式设置为htm,然后返回html文件的名称

@RequestMapping(value ="/registration",method = RequestMethod.GET)
public String render(Model model, HttpServletRequest request, HttpServletResponse response) {
{

--------------- compute ----
return "registration";
}
如果您将请求放入/registration,服务器将计算映射到它的方法,然后搜索“registration”(返回值)以显示


希望有帮助!

您是请求/注册还是/注册。您的servlet也有doPost,您是发送post请求吗?@SubinS OP正在发送post请求
解决方案可能就是我在回答中提到的解决方案是的,应该可以解决,我错过了表单。+1不,没有再次修复相同的错误:HTTP Status 404-/skypark/注册类型状态报告消息/skypark/注册描述请求的资源不可用。Apache Tomcat/7.0.33抱歉,先生,它显示了相同的错误:HTTP状态404-/skypark/注册类型状态报告消息/skypark/注册描述请求的资源不可用。Apache Tomcat/7.0.33
@RequestMapping(value ="/registration",method = RequestMethod.GET)
public String render(Model model, HttpServletRequest request, HttpServletResponse response) {
{

--------------- compute ----
return "registration";
}