(1)login.jsp<html>
<head>
<title>helloapp</title>
</head>
<body>
<br>
<form name="loginForm" method="post" action="dispatcher">
<table>
<tr>
<td><div align="right">User Name:></td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><div align="right">Password:></td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="Submit" name=Submit" value="Submit"></td>
</tr>
</table>
</form>
</body>
</html> (2)DispatcherServlet.jspimport javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class DispatcherServlet extends HttpServlet
{
private String target="/hello.jsp";
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//If it is a get request forward to doPost()
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//Get the username from the request
String username=request.getParameter("username");
//Get the password from the request
String password=request.getParameter("password");
//Add the user to the request
request.setAttribute("USER",username);
request.setAttribute("PASSWORD",password);
//Forward the request to the target named
ServletContext context=getServletContext();
System.out.println("Redirecting to" + target);
RequestDispatcher dispatcher=context.getRequestDispatcher(target);
dispatcher.forward(request,response);
}
public void destroy()
{
}
} (3)hello.jsp<html>
<head>
<title>helloapp</title>
</head>
<body>
<b>Welcome:<%=resquest.getAttribute("USER")%></b>
</body>
</html> 我在web.xml中写了下面配置<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Servlet</display-name>
<description>Servlet</description>
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>dispatcher</url-pattern>
</servlet-mapping>
</web-app>
在运行login的时候,点提交时出现错误HTTP Status 404 - /helloapp/dispatcher--------------------------------------------------------------------------------type Status reportmessage /helloapp/dispatcherdescription The requested resource (/helloapp/dispatcher) is not available.这是为什么?55555555555555555555
<head>
<title>helloapp</title>
</head>
<body>
<br>
<form name="loginForm" method="post" action="dispatcher">
<table>
<tr>
<td><div align="right">User Name:></td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td><div align="right">Password:></td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="Submit" name=Submit" value="Submit"></td>
</tr>
</table>
</form>
</body>
</html> (2)DispatcherServlet.jspimport javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;public class DispatcherServlet extends HttpServlet
{
private String target="/hello.jsp";
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//If it is a get request forward to doPost()
doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//Get the username from the request
String username=request.getParameter("username");
//Get the password from the request
String password=request.getParameter("password");
//Add the user to the request
request.setAttribute("USER",username);
request.setAttribute("PASSWORD",password);
//Forward the request to the target named
ServletContext context=getServletContext();
System.out.println("Redirecting to" + target);
RequestDispatcher dispatcher=context.getRequestDispatcher(target);
dispatcher.forward(request,response);
}
public void destroy()
{
}
} (3)hello.jsp<html>
<head>
<title>helloapp</title>
</head>
<body>
<b>Welcome:<%=resquest.getAttribute("USER")%></b>
</body>
</html> 我在web.xml中写了下面配置<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Servlet</display-name>
<description>Servlet</description>
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>dispatcher</url-pattern>
</servlet-mapping>
</web-app>
在运行login的时候,点提交时出现错误HTTP Status 404 - /helloapp/dispatcher--------------------------------------------------------------------------------type Status reportmessage /helloapp/dispatcherdescription The requested resource (/helloapp/dispatcher) is not available.这是为什么?55555555555555555555
解决方案 »
- Statement.excuteQuery()方法中怎么执行多条MySQL语句???
- MyEclipse,放入WEB-INF里的lib为什么打不开?
- java的问题
- 紧急求救,用jsf开发jsp页面,页面无法打开的问题。
- utf-8的问题
- 126信箱左边的效果怎么做的
- 用jsp/servlet写的登录程序为什么跳转不起作用啊!
- 想做一个开放平台,该如何实现
- 同样代码在ie和firefox下执行情况不一样,高手给个原因
- 终于解决问题了,tomcat就是不能自动找到classpath中的db2driver.zip!!!!!!
- 如何在使用预编译SQL的情况下做不定项查询
- 求 Tomcat 5.5.17 内置连接池配置详细过程(SQLServer2000)谢。。。
<servlet-name>SampleServlet</servlet-name>
<servlet-class>DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>dispatcher</url-pattern>
</servlet-mapping><servlet-name>SampleServlet</servlet-name>中的SampleServlet和<servlet-name>dispatcher</servlet-name>中德dispatcher这俩应该一样吧?只是一个映射,改一下,改成相同的什么都行<servlet-class>DispatcherServlet</servlet-class>中DispatcherServlet是你那个sevelet的全路经,看看写错没有? <url-pattern>dispatcher</url-pattern>中的dispatcher不对吧??应该改成什么来着?*.servelet??? struts里是*.do 很久不做纯jsp的东西了,那位补充下?
肯定是路径的错误!我也有过修改和路径设计有关的文档!
<description>Servlet</description>
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>dispatcher</url-pattern>
</servlet-mapping>
先把 <servlet-name>dispatcher</servlet-name>中那个dispatcher改成SampleServlet<servlet-class>DispatcherServlet</servlet-class>中DispatcherServlet把这个类的全路径写上,那个包下的那个类,比如XXX.XXX.XXX.DispatcherServlet<url-pattern>dispatcher</url-pattern>中的dispatcher改成*.servelet试试
<servlet-name>SampleServlet</servlet-name>---这个是你给这个servlet起的名字
<servlet-class>DispatcherServlet</servlet-class> ---这个是你写的类的名字
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>>---这个是你给这个servlet起的名字
<url-pattern>/dispatcher</url-pattern>---这个是你访问这个servlet时访问的地址
</servlet-mapping>
所以上述两处<servlet-name>应该是写成一样的名字
url处要加 /
访问时,访问dispatcher
<form name="loginForm" method="post" action="dispatcher">
这样就可以
<servlet-class>DispatcherServlet</servlet-class> ---这个是你写的类的名字
---需要类的全路径,如: com.mypackage.DispatcherServlet
<servlet-name>SampleServlet</servlet-name>
<servlet-class>DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>dispatcher</url-pattern>
</servlet-mapping>
---- <servlet-name>dispatcher</servlet-name>要相同
这样改
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SampleServlet</servlet-name>
<url-pattern>/dispatcher</url-pattern>还要加/
</servlet-mapping>
最好这个地方也加\