java servlet的小问题
输入正确的用户名和密码后出现HTTP Status 405 - HTTP method GET is not supported by this URL//LoginServlet.java代码package com.cj.view;
import javax.servlet.*;import javax.servlet.http.*;
import java.io.*;
public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{response.setContentType("text/html;charset=utf-8");response.setCharacterEncoding("utf-8");PrintWriter out = response.getWriter();out.println("<h1>用户登录</h1>");out.println("<form action='/UsersManger1/LoginCLServlet' method='POST'>");out.println("用户名<input type='text' name='username' /><br>");out.println("密 码<input type='password' name='password' /><br>");out.println("<input type='submit' value='登录' /><br>");out.println("</form>");
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
this.doGet(request, response);
}
}
//LoginCLServlet.java的代码package com.cj.contraler;
import javax.servlet.*;import javax.servlet.http.*;
import java.io.*;
/** * Servlet implementation class LoginCLServlet */public class LoginCLServlet extends HttpServlet {public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();String username=request.getParameter("username");String password=request.getParameter("password");
System.out.print(username+" " +password);if("abc".equals(username)&&"123456".equals(password))response.sendRedirect("/UsersManger1/MainFrame");else response.sendRedirect("/UsersManger1/LoginServlet");
}public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
this.doGet(request, response);
}
}
//MainFrame.java的代码package com.cj.view;import javax.servlet.*;import javax.servlet.http.*;
import java.io.*;
public class MainFrame extends HttpServlet{public void doGet(HttpServletResponse request,HttpServletResponse response)throws ServletException,IOException{
response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();out.println("<h1>主界面 </h1>");
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
this.doGet(request, response);
}
}
能看到的错去就是MainFrame中的doGet方法的2个参数都写成了HttpServetResponse 把第一个参数修改下应该就Ok //web.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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>UsersManger1</display-name>
<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>
<servlet>
<description></description>
<display-name>LoginServlet</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.cj.view.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>LoginCLServlet</display-name>
<servlet-name>LoginCLServlet</servlet-name>
<servlet-class>com.cj.contraler.LoginCLServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginCLServlet</servlet-name>
<url-pattern>/LoginCLServlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>MainFrame</display-name>
<servlet-name>MainFrame</servlet-name>
<servlet-class>com.cj.view.MainFrame</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MainFrame</servlet-name>
<url-pattern>/MainFrame</url-pattern>
</servlet-mapping>
</web-app>
请用jsp做视图,servlet只适合做控制器
页:
[1]