Servlet是在服务器上运行的小程序,一个servlet就是一个java类,并且可以通过请求-响应编程模型来访问这个驻留在服务器内存里的servlet程序
Tomcat的容器分为四个等级,Servlet的容器管理context容器,一个context对应一个web工程
继承关系
手工编写一个Servlet
javaEE 5.0
Superclass javax.servlet.http.HttpServlet
快捷方式-source(shift+alt+s)-override/implements methods(重写从父类继承而来的方法)
index.jsp
Get方式请求HelloServlet
servlet
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.Response;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("------处理Get()请求------");
PrintWriter out = response.getWriter();
out.println("Hello servlet
");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("------处理Post()请求------");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("Hello servlet.method:post
");
}
}
web.xml的配置
HelloServlet
servlet.HelloServlet
HelloServlet
/servlet/HelloServlet
将这段代码置于web-app标签内
注册方式
使用myEclipse创建servlet
new-servlet
IDE自动生成的servlet相关的文件
自动装载
servlet容器启动时自动装在某些servlet,实现它只需要在web.xml文件的标签内添加代码
数字优先级,越小优先级别越高
客户端首次发送请求
在servlet容器启动后,客户向Servlet发送请求
servlet类文件更新
重新装载Servlet
class文件更改
servlet获取表单,request.getParameter(string);
获取复选框类型,getParameterValues(string);
获取成功之后,将信息保存在session中
保存之后使用内部转发或者请求重定向,显示用户信息
servlet获取表单数据源代码
path变量表示项目的根目录
web.xml中的url-pattern处必须以/开头,表示项目的根目录
请求重定向
response.sendRedirect(request.getContextPath()+"/yourfile");
请求重定向的使用方式,获得上下文.
获得上下文的方法,request.getContextPath()方式
服务器内部跳转
使用服务器内部跳转方式,/代表了项目的根目录
request.getRequestDispatcher("/yourfile").forward(request,response);
在web.xml中配置servlet时,可以配置一些初始化参数.而在servlet中可以通过ServletConfig接口提供的方法来获取这些参数
通过超链接的方式访问servlet
web.xml中servlet标签内init-param标签中的子标签来设置初始化参数,代码段如下
...
username
admin
password
admin
通过getInitParameter(“string”)获取初始化参数
EIS 企业信息系统
model2
购物车源代码
购物车关系图
关系图涂鸦作品,只为了加深理解
购物车设计
属性:
购买商品的集合
方法:
添加,删除,计算总金额
保存属性的数据结构
key-value,采用map方式存储数据结构
测试购物车
遍历购物商品的集合
如何保证购物车中不出现相同商品的记录
重写Items商品类的hashcode()和equals方法
购买数量的累加
实现购买数量的增加和删减功能的实现
购买数量:-+
界面层调用
function selflog_show(id)
{
var num = document.getElementById("number").value;
J.dialog.get({id: 'haoyue_creat',title: '购物成功',width: 600,height:400, link: '<%=path%>/servlet/CartServlet?id='+id+'&num='+num+'&action=add', cover:true});
}
显示购物车
首先判断session中是否有购物车对象