现在的位置: 首页 > 综合 > 正文

04—servlet03(servlet与表单)

2013年10月23日 ⁄ 综合 ⁄ 共 2082字 ⁄ 字号 评论关闭
InputServlet.java:
	package com.lid.servlet;
	import java.io.*;
	import javax.servlet.*;
	import javax.servlet.http.*;

	public class InputServlet extends HttpServlet{
		public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
				String info=req.getParameter("info");
				PrintWriter out=resp.getWriter();
				out.println("<html>");
				out.println("<body>");
				out.println("<h3>"+info+"</h3>");
				out.println("</body>");
				out.println("</html>");
				out.close();
			}
		}
接下来就是编译上面的InputServlet.java
编译完成后就是在web.xml中配置该servlet的映射;
	<servlet>
 		<servlet-name>input</servlet-name>
 		<servlet-class>com.lid.servlet.InputServlet</servlet-class>
 	</servlet>
 	<servlet-mapping>
 		<servlet-name>input</servlet-name>
 		<url-pattern>/InputServlet</url-pattern>
 	</servlet-mapping>
启动tomcat
接下来我们建立一个表单:
inputServlet.jsp:
	<%@ page contentType="text/html" pageEncoding="gbk"%>
	<html>
	<head><title>这是测试</title></head>
	<body>
		<form action="../InputServlet" method="get">
			请输入内容:<input type="text" name="info">
				<input type="submit" value="提交">
		</form>	
	</body>
	</html>

注意:inputServlet.jsp是放在inputServlet文件夹下的,所以访问路径
	是http://localhost/lid/inputServlet/inputServlet.jsp;
      而InputServlet.java的访问路径是http://localhost/lid/InputServlet
      如果action="InputServlet"的话,访问servlet的路径会变成

http://localhost/lid/inputServlet/InputServlet所以此时要注意

	action中的路径,还有action中的值要和<url-pattern>/InputServlet</url-pattern>
	相对应的;

	为了避免action中出现"../"的现象我们可以将<url-pattern>/InputServlet</url-pattern>
	改成<url-pattern>/inputServlet/InputServlet</url-pattern>
	此时的action中就不用出现"../"了;

注意:如果此时将method="get"改成method="post"的话将访问不到,原因是我们只覆写了doGet方法,没有
	覆写doPost()方法;
我们这样修改:
	package com.lid.servlet;
	import java.io.*;
	import javax.servlet.*;
	import javax.servlet.http.*;

	public class InputServlet extends HttpServlet{
		public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
				String info=req.getParameter("info");
				PrintWriter out=resp.getWriter();
				out.println("<html>");
				out.println("<body>");
				out.println("<h3>"+info+"</h3>");
				out.println("</body>");
				out.println("</html>");
				out.close();
			}
		public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
			this.doGet(req,resp);
			}
		}

抱歉!评论已关闭.