我的文件结构目录如下:
webapps--
SSC--
src--
ch04--(这是一个包)
servlet--
login.java
Webroot--
WEB-INF--
classes--
login.class
web.xml
login.jsp
login.jsp中有一个登录验证的表单,其中的action = "????"才可以提交到servlet对应的类中,web.xml文件中应该怎么配置?还有就是到底是提交到src下的.java,还是WEB-INF/classes下的.class?
还有就是浏览器下直接定位到那个servlet/login,路径如下:localhost:8000/SSC/src/ch04/servlet/Login 出现404错误 我知道是servlet没布置好,新手求教。。。请给出对应我这个例子的解决方案。。万分感激(实际只有30分,不好意思)!!!!
问了回答你的问题,我还特意打开了我的myeclipse6.5。给你一个完整的例子
要做成一个完整的servlet的例子,做以下几个事
1、新建JSP文件(访问servlet的),我这里是index.jsp
2、新建java类(servlet),我这里是MyServlet.java
3、在web.xml配置servlet
下面给出完整代码
1、index.jsp (可以把我的代码自己拷贝到你机器运行,拷贝到的目录没有要求)
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="servletUrl">
<input type="text" name="yyf"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
2、MyServlet.java,代码如下(现在你的src目录下建一个test包,然后这个类放到这个包下面)
package test;
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;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
System.out.println("this is doGet");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
System.out.println("this is doPost");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the POST method");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void init() throws ServletException {
}
public MyServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
}
3、web.xml配置(这里把握整个web.xml代码放到这里,你可以看的更清楚)
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>test.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servletUrl</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
对于index.jsp访问MyServlet.java的解释:
在表单中,当你点击提交按钮,触发这个链接action="servletUrl"。请求到达服务器tomcat后,tomcat检查当前项目的web.xml中所有的<servlet-mapping></servlet-mapping>
配置中的<url-pattern></url-pattern>的属性值。看当中有没有一个和请求地址servletUrl相同。结果找到如,如下:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/servletUrl</url-pattern>
</servlet-mapping>
其中 <url-pattern>/servletUrl</url-pattern> 是你表单的访问地址
然后,tomcat根据上面的<servlet-name>MyServlet</servlet-name>找到和
<servlet-mapping>相对应的<servlet>配置如下
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>test.MyServlet</servlet-class>
</servlet>
然后根据当中 <servlet-class>找到MyServlet.java文件的地址。
如果看了上面的文字还不是很理解,给你做个图:
JSP怎么将表单提交到对应的servlet
1. 用于登录的jsp页面,其中有一个form表单用于提交用户名和密码 2. 创建一个名为LoginServlet的Servlet,下面是doGet与doPost部分 3. 配置web.xml,这是最关键的一步 需要注意的是url-pattern这里写的是\/login,而在jsp中form表单的action写的是login,而不是\/login,因为尝试了其他写法都不...
在jsp页面中如何传递一个删除的参数给servlet页面
1、对于该JSP页面 form表单的内容,如 标签,在 servlet可用request.getParameter("username");获取。2、URL:比如这里的 标签的 href属性与 标签的 action属性的值 "JspServlet?action=toServlet",在 servlet同样用 request.getParameter("action")获取;所要注意的是这里的 url要和 servlet在web.xml里...
jsp中action怎么提交到Servlet?
在form的action中直接写在web.xml中配置的的名字。例如:AdminLogincom.java.servlet.AdminLogin22AdminLogin\/AdminLogin在form的action中就直接写AdminLogin就行了。<form method="post" action<"???">想把这个表单中的action提交到自己创建的java程序包中,该怎么访问呀?com.java.servlet.AdminLogin.j...
通过JSP 页面调用servlet方法?
1、首先,在软件开发平台新建web项目命名为combineJsp。2、其次,按照图示代码在WEB-INF下新建web.xml文件,设置默认主页路径。3、在index.jsp文件中引入子文件sub.jsp,具体引入代码见下图红色方框。4、按照图示代码在page文件夹下新建子文件sub.jsp,用于index.jsp文件引入。5、在servers下的tomcat服务器...
请问:jsp页面 表单怎样提交大量数据到serverlet 如用for循环生成一个100...
你可以创建一个对象用于封装你的数据,然后用request.getParameter("标签名") ;来获取你表单中的数据,然后把你获取的数据封装到实体对象中.然后在存储你的数据到数据库或者别的.
servlet和jsp之间的数据传递,帮帮忙!
比如加密前的是 code1 加密后是 code2 servlet拿到code1之后加密处理生成code2,然后 request.setAttribute('code1', code1);request.setAttribute('code2', code2);跳转页面;页面接收 参数一 = (String)request.getAttribute('code1');参数二 = (String)request.getAttribute('code2');...
JSP中怎么可以做到既提交了表单中的数据,又跳转到另一个页面?_百度知 ...
JSP中提交表单的同时页面跳转是通过servlet控制的。RequestDispatcher.forward()是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 ...
如何从jsp通过post方式发送xml数据到servlet
2.servlet package servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class GetXml extends HttpServlet { private static final long ser...
jsp button提交一个值到servlet
你应该写了form表单了吧,你既然只传一个id就不要表单了,button的 onclick='test(<%=rs.getInt("id") %>)' 这个id值就是你要传的值 在javascript里写test的方法test(i){ location.href="XXServlet?id="+val;}就可以传递到你的servlet里了,你在servlet的int i=Integer.parseInt(req...