Javaweb项目编程之实验二+编写与使用Servlet
实验二+编写与使用Servlet实验目标:1、理解Servlet文件各部分所表示的含义,掌握如何编写Servlet;2、学习如何部署与运行Servlet,练习使用注释法和配置文件Server.xml进行Servlet的部署和发布。3、熟悉Html文件的表单知识,学会进行表单编程实验内容:(第一、二题必做,第三题必做,如不能完成就课后做)1. 新建项目,练习教材上相关例子Hello.java文件,P
实验二+编写与使用Servlet
实验目标:
1、 理解Servlet文件各部分所表示的含义,掌握如何编写Servlet;
2、 学习如何部署与运行Servlet,练习使用注释法和配置文件Server.xml进行Servlet的部署和发布。
3、 熟悉Html文件的表单知识,学会进行表单编程
实验内容:
(第一、二题必做,第三题必做,如不能完成就课后做)
1. 新建项目,练习教材上相关例子Hello.java文件,P29。并练习如何在Tomcat服务器上发布该文件
1) HelloServlet文件内容
2) 请分别用注释法和文件配置法(web.xml)来完成对HelloServlet文件的发布。
注释法访问的地址是 http://127.0.0.1:8080/项目工程名/test2/hello.view(请注意要根据题目要求修改代码中的注释内容)
文件配置法的地址是http://127.0.0.1:8080/项目工程名/test2/hello.do
2. 请编写WelcomeYou.java文件,代码内容如下图,
1) 图中第25行是何意思?
2) 编写好之后请用如下两个地址来分别访问该文件:
http://127.0.0.1:8080/项目工程名/test2/welcome?user=‘李华’
http://127.0.0.1:8080/项目工程名/test2/welcome?user=‘Lihua’
记录下浏览器的显示内容,并分析其原因。
3. 请编写程序,完成以下功能:
- 一个邮箱注册表单register.html文件,具体见图。
- 自行编写两个html文件,一个success.jsp成功页面,一个fail.jsp失败页面。
- 点击注册按钮后,跳转到成功页面success.jsp。
- 尝试:能否在成功页面显示该用户的昵称,邮箱名称?比如“开心,恭喜你!你的happyToday@163.com”
- 注意注册页面的表单应当提交什么请求方式
- 如果下一步,我还希望能把失败页面加上去,怎么办?
- (选作)预习第三章,思考并尝试完成P46的第1,2题。
项目代码:
package cc.openhome;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloServlet
*/
//@WebServlet("/hello.view")
@WebServlet(name = "helloServlet", urlPatterns= {"/hello.do"})
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
// response.getWriter().append("Served at: ").append(request.getContextPath());
response.setContentType("text/html;charset = GB2312");
PrintWriter out = response.getWriter();
//String name = request.getParameter("name");
out.println("<html>");
out.println("<head>");
out.println("<title>Hello Servlet</title>");
out.println("/<head>");
out.println("<body>");
out.println("<h2>您好,欢迎各位软件工程专业的同学 !<br><br>Hello,Newworld");
out.println("/<body>");
out.println("/<html>");
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
运行结果:
项目代码:
package cc.openhome;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class WelcomeYou
*/
@WebServlet("/WelcomeYou")
public class WelcomeYou extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
String user = request.getParameter("user");
String welcomeInfo = "Welcome You " + user +" 同学";
response.setContentType("text/html;Charset = GB2312");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>欢迎页面</TITLE></HEAD>");
out.println("<BODY>");
out.println(welcomeInfo);
out.println("</BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
1) 图中第25行是何意思?
答:把传进来的参数user赋值给变量user
2) 编写好之后请用如下两个地址来分别访问该文件:
http://127.0.0.1:8080/项目工程名/test2/welcome?user=‘李华’
运行结果:
原因:通过HttpServletRequest的getParamenter()并指定请求参数名称,来获取得用户发送的请求参数值。
项目要求:
- 请编写程序,完成以下功能:
- 一个邮箱注册表单register.html文件,具体见图。
- 自行编写两个html文件,一个success.jsp成功页面,一个fail.jsp失败页面。
- 点击注册按钮后,跳转到成功页面success.jsp。
- 尝试:能否在成功页面显示该用户的昵称,邮箱名称?比如“开心,恭喜你!你的happyToday@163.com”
- 注意注册页面的表单应当提交什么请求方式
- 如果下一步,我还希望能把失败页面加上去,怎么办?
项目代码:
register.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册邮箱</title>
</head>
<body>
<form action="filedeal"method="get">
您的姓名:<input type = "text" name = "UserName"><br>
您的邮箱:<input type = "text" name = "UserEmail"><br><br><br>
<input type = "submit" value ="注册">
<input type = "reset" value ="重置">
</form>
</body>
</html>
filedeal.Java文件
package text;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class filedeal
*/
@WebServlet("/filedeal")
public class filedeal extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String UserName = request.getParameter("UserName");
String UserEmail = request.getParameter("UserEmail");
if ( UserEmail !=null && UserName !=null) {
request.setAttribute("name",UserName);
request.setAttribute("email",UserEmail);
request.getRequestDispatcher("success.jsp").forward(request, response);
}
else {
request.getRequestDispatcher("fail.jsp").forward(request, response);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
success.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.net.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>恭喜你,注册成功</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String yourname = (String)request.getAttribute("name");
String youremail = (String)request.getAttribute("email");
out.println("<h2> 您的姓名:"+yourname+"</h2><br>");
out.println("<h2> 您的邮箱:"+youremail+"</h2><br>");
%>
</body>
</html>
fail.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>对不起,注册失败</title>
</head>
<body>
<h2>对不起,注册失败,请仔细检查数据是否填写正确!</h2>
</body>
</html>
运行结果:
更多推荐
所有评论(0)