JavaWeb快速入门六
package servlet;
?
import java.io.IOException;
?
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
?
public class RegisterServlet extends HttpServlet {
?
?? public void doGet(HttpServletRequest request, HttpServletResponseresponse)
???????? throws ServletException, IOException {
????? /*这里选择将所有以get方式提交的全部交给doPost方法处理;
????? get方式提交是将所有的要传递的参数附加在地址栏后传过来,
????? 这样在参数少的情况或者没有参数的情况会考虑这种方式,
????? 因为附加在地址栏的字符不安全,二字符不能超过一定的大小
????? 在网页中大部分时候都要传递大量的数据,尤其有上传文件就不能选择get方式提交
????? */
????? doPost(request,response);
?? }
?
?? public void doPost(HttpServletRequest request, HttpServletResponseresponse)
???????? throws ServletException, IOException {
????? String name = request.getParameter("name");
????? String password = request.getParameter("password");
????? //将页面中form表单提交过来的参数保存到request对象中,采用map的形式保存的
????? request.setAttribute("registerName", name);//在页面中通过registerName取得name的值
????? request.setAttribute("registerPassword", password);
????? request.getRequestDispatcher("/register_success.jsp").forward(request,response);
?? }
}
这个是javaweb比较常见的问题——乱码,在简单例程中为避免这个问题没有采用全部用的是英文
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
? <head>
? </head>
? <body>
??? <form action="servlet/RegisterServlet"method="post">
??? Plasewrite your name and password!<br/>
??? name:<input type="text" name="name"/><br/>
??? password:<input type="password" name="password"/>
??? <input type="submit" value="regiser"/>
??? </form>
? </body>
<%@ page language="java" import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
? <body>
??? <font color="red">register success!</font><br/>
??? <font color="blue">Your regiser name is :</font><%=request.getAttribute("registerName") %><br/>
??? <font color="blue">Your regiser passwordis :</font><%=request.getAttribute("registerPassword") %>
??? <%--
??? 在这个jsp中写了部分java代码,像用<% %>包含的可以写在java类写的任意语句
??? 这里用<%= %>是直接输出结果的意思
???? --%>
??? <%-- 在jsp中有两个注释,这种注释任何用<% %>包含的java代码,还可以注释标签--%>
??? <!--? 这种注释只能注释纯jsp的代码-->
? </body>
</html>
?
测试地址:http://localhost:8080/test2/register.jsp
?