已登录页面为例子:
1.login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="login"> username:<input type="text" name="username" /><br> password:<input type="password" name="password" ><br> repassword:<input type="password" name="repassword"><br> age:<input type="text" name="age"/> <input type="submit" value="submits"> </form> </body> </html>
2.在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_2_5.xsd" id="WebApp_ID" version="2.5"> <servlet> <servlet-name>Login</servlet-name> <servlet-class>com.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
3.通过xml配置信息找到对应的处理class类。
package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); String password = req.getParameter("password"); String repassword = req.getParameter("repassword"); int age = Integer.parseInt(req.getParameter("age")); String result = ""; if(age > 18) { result = "success"; } else { result += "age <= 18"; } if(!password.equals(repassword)) { result += "password != repassword"; } req.setAttribute("username", username); req.setAttribute("age", age); //转发 RequestDispatcher rd = req.getRequestDispatcher("result.jsp"); //遍历一个list。额外加上的。测试request后得到的是一个枚举类型数据 List<String> list = new ArrayList<String>(); for(int i = 0; i < 100; i++) { list.add(String.valueOf(i)); } req.setAttribute("list", list); } }
4.结果页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.List" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> username:<%= request.getAttribute("username") %> age:<%= request.getAttribute("age") %> <% List<String> list = (List<String>)request.getAttribute("list"); for(int i = 0; i < list.size(); i++) { %> <%= list.get(i) %><br> <% } %> </body> </html>
完成,收工,其中有些变量没有得到值,是因为没有将其存入到request容器中。
只是个例子,如果需要,留下言,我可以将其他的补全。