简单的form表单操作(Servlet)

Servlet模型

【表单的处理】【模型(1)】

●HTML网页

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>表单的处理</p>

<form method="post" action="ss">
	用户名:<input type="text" name="name">
	密码:<input type="password" name="pass">
	<input type="submit" value="提交">
</form>
</body>
</html>

  ●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" 

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Test1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>ser1</servlet-name>
  	<servlet-class>cm.zhiqi.serv.ser1</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>ser1</servlet-name>
  	<url-pattern>/ss</url-pattern>
  </servlet-mapping>

</web-app>

  ●类的处理

package cm.zhiqi.serv;

import	...;

public class ser1 extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws 

ServletException, IOException {
		String name=req.getParameter("name");
		String password=req.getParameter("pass");
		System.out.println("name->"+name);//控制台输出信息
		System.out.println("password->"+password);//控制台输出信息
		resp.getWriter().write("name"+name+"password"+password);//返回到网页的

内容
	}

}

  运行:

 【表单的处理】【模型(2)】

●HTML网页

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>form processing</p>
<form method="post" action="th">
	<input type="hidden" name="hidden" value="test" />
	Sex:<input type="radio" name="xingbie" value="m" checked/>man
	<input type="radio" name="xingbie" value="f" />woman<br><br>
	Coursr:<input type="checkbox" name="course" value="PHP" />PHP
	<input type="checkbox" name="course" value="Java" />Java
	<input type="checkbox" name="course" value="C#.NET" />C#.NET<br><br>
	City<select name="city">
		<option value="zibo">淄博</option>
		<option value="jinan">济南</option>
		<option value="qingdao">青岛</option>
		<option value="weihai">威海</option>
		<option value="rizhao">日照</option>
	</select>
	<br><br>
	<input type="reset" value="取消">
	<input type="submit" value="提交">
</form>
</body>
</html>

  ●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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Test2</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  
    <servlet>
  	<servlet-name>Test2</servlet-name>
  	<servlet-class>az.zhiqi.Test2</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>Test2</servlet-name>
  	<url-pattern>/th</url-pattern>
  </servlet-mapping>
  
</web-app>

  ●类的处理

package az.zhiqi;

import ...;

public class Test2 extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		String hidden=req.getParameter("hidden");
		String xingbie=req.getParameter("xingbie");
		String [] course=req.getParameterValues("course");
		String city=req.getParameter("city");
		city=new String(city.getBytes("ISO8859-1"),"utf-8");
		
		resp.getWriter().write("hidden->"+hidden+"<br>xingbie->"+xingbie+"<br>course->"+Arrays.toString(course)+"<br>city->"+city);
	}
}

  暂时不用汉字,字符集问题暂时不考虑!

 运行如下:

【表单的处理】【模型(3)】
forword

●HTML网页

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="s1">ser</a>
</body>
</html>

  ●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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Test3</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
  	<servlet-name>s1</servlet-name>
  	<servlet-class>zm.zhiqi.al.ty1</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>s1</servlet-name>
  	<url-pattern>/s1</url-pattern>
  </servlet-mapping>
  
    <servlet>
  	<servlet-name>s2</servlet-name>
  	<servlet-class>zm.zhiqi.al.ty2</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>s2</servlet-name>
  	<url-pattern>/s2</url-pattern>
  </servlet-mapping>
</web-app>

  ●类的处理

package zm.zhiqi.al;

import java.io.IOException;

import ...;

public class ty1 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("doGet");
		//s1转s2处理
		RequestDispatcher rd=req.getRequestDispatcher("s2");
		req.setAttribute("test", Math.random());
		rd.forward(req, resp);
	}

}




package zm.zhiqi.al;

import java.io.IOException;

import ...;

public class ty2 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Other doGet");
		double d=(Double)req.getAttribute("test");
		resp.getWriter().write(" "+d+" ");
		resp.getWriter().write("other processing");
	}
}

  【表单的处理】【模型(4)】

include

●HTML网页

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="s1">ser</a>
</body>
</html>

  


●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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Test3_B</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>s1</servlet-name>
    <servlet-class>zm.zhiqi.al.t1</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>s1</servlet-name>
    <url-pattern>/s1</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>s2</servlet-name>
    <servlet-class>zm.zhiqi.al.t2</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>s2</servlet-name>
    <url-pattern>/s2</url-pattern>
  </servlet-mapping>
</web-app>

  ●类的处理

package zm.zhiqi.al;

import java.io.IOException;

import ...;

public class t1 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("doGet");
		RequestDispatcher rd=req.getRequestDispatcher("s2");
		req.setAttribute("test", Math.random());

		rd.include(req, resp);
		double d=(Double)req.getAttribute("test");
		resp.getWriter().write("include->"+d+"<-include");
	}
	
	

}


package zm.zhiqi.al;

import java.io.IOException;

import ...;

public class t2 extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		System.out.println("Second doGet");//往控制台输出
		//double d=(Double)req.getAttribute("test");
		//resp.getWriter().write(" "+d+" ");
		resp.getWriter().write("Second processing<br>");//向网页输出
	}
	
}

  

【表单的处理】【模型(5)】

Session会话

原文地址:https://www.cnblogs.com/void-m/p/6009281.html