实验一 Servlet技术
一、实验目的:
1.理解Servlet的工作原理,
2.掌握创建和发布Servlet的方法,
3.熟悉Servlet的应用。
4.掌握维持会话技术,理解cookies与session的区别。
二、实验原理:
Servlet是Java EE的三大组件技术之一,主要用于MVC模式之中的控制器的设计。Servlet本身是Java程序,创建一个Servlet需要继承Servlet类或GenericServlet类或HttpServlet类,有三个主要的生命周期相关的方法:init()、service()、destroy(),一般会重写,会在service()中自动调用的doGet()和doPost()方法,对采用get方式或post方式提交的请求进行处理响应。
1、Cookie:Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
2、Session:Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
三、实验内容:
一、熟悉web.xml文件中与servle的相关的部分。
二、应用servlet处理用户的表单。
三、使用cookie技术使用户在二周内免登录
四、应用session制作虚拟购物车。
四、实验步骤:
一、应用servlet处理用户的表单
1、新建立一个web应用程序
2、在应用程序中,建立一个regist.html文档。
3、在HTML文档中编写一个表单,表单的元素有:用户名(单行文本框)、密码、密码确认、姓名(单选)、兴趣爱好(多选)以及个人描述(多行文本)。
4、新建立一个servlet,用该servlet接收用户在regist.html表单中输入的信息,并显示。
源代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/show" method="post">
用户名:<input type="text" name="name"/><br>
密 码:<input type="password" name="password"/><br>
性 别: <input type="radio" name="sex" value="boy" />男<br>
<input type="radio" name="sex" value="girl"/>女<br>
密码确认:<input type="passwordagain" name="passwordagain"/><br>
兴趣爱好:
<input name="fav" type="checkbox" value="sing">唱歌<br>
<input name="fav" type="checkbox" value="dance">跳舞<br>
<input name="fav" type="checkbox" value="ball">打球<br>
<input name="fav" type="checkbox" value="game">打游戏<br>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>
</body>
</html>
package edu.xalead;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class showServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
String name = request.getParameter("name");
Strin