实验要求:
用户在inputName. JSP页面输人姓名提交给servlet,servlet 将用户的请求再转发给
showName. jsp页面。
JSP页面具体要求
inputName,jsp页面提供一个表单,用户使用该表单中的文本框输人姓名提交给名字
为postman的servlet。
编写一个Serle类PostMan. 该类创建的servle 可以将用户的请求转发到
showNome. isp页面。PosMan包名是myreve cotrol PostMan. java 保存到Wb量
务目朵的\WEB INlsesretotro子目录中。
格式编译源文件:
然后打开MS D0命令行窗口,使用MS D0S命令进人包名的父目录dss按如下,
javec yservlet\control\PostMan. java
——————————————————————————————————————
首先打开Eclipse,创建Dynamic Web project项目
在Java Resources下src下创立包,包里放java文件(servlet)
WebContent下创建jsp文件
web.xml
<?xml version="1.0" encoding="UTF-8"?>
-<web-app>
-<servlet>
<servlet-name>postman</servlet-name>
<servlet-class>myservlet.control.PostMan</servlet-class>
</servlet>
-<servlet-mapping>
<servlet-name>postman</servlet-name>
<url-pattern>/postman</url-pattern>
</servlet-mapping>
</web-app>
inputName.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<body bgcolor=pink>
<font size=4>
<form action="postman" method=post>
输入名字:<input type=text name="name">
<br><input type=submit value="提交">
</form>
</font>
</body>
</html>
showName.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<body>
<font size=4>
<%
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
%>
用户输入的是:<%=name%>
</font>
</body>
</html>
PostMan.java
package myservlet.control;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class PostMan extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
RequestDispatcher dispatcher = request.getRequestDispatcher("showName.jsp");
if(name!=null&&name.length()>=1){
dispatcher.forward(request, response);
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
doPost(request,response);
}
}
运行结果:
showName下需在代码段里增加request.setCharacterEncoding("utf-8");防止request获取的参数乱码
inputName下form中action属性为postman,为servlet名称,可对照web.xml
PostMan.java下需要注意几个导包 继承HttpServlet类,创建一个初始化方法
其中
RequestDispatcher dispatcher = request.getRequestDispatcher("showName.jsp");
dispatcher.forward(request, response);
是转发的方法