日期:2014-05-16 浏览次数:20550 次
1.必须继承自HttpServlet
2.必须实现doGet()或者doPost()
3.必须在web.xml中配置Servlet
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servelt-mapping>
HttpServeltRrequest:请求对象
getParameter():获得表单元素的值
getAttribute():获得request范围中的属性值
setAttribute():设置reqeust范围中的属性值
setCharacterEncoding():设置字符编码
HttpSerletResponse:相应对象
sendRedirect():外部跳转
getWriter():获得输出流对象
setContentType("text/html; charset=utf-8"):设置相应内容格式和编码1.Session
HttpSession session = request.getSession();
session.setAttribute("name", "zhangsan");
session.setAttribute("pwd", "aaa");
String name = (String) session.getAttribute("name");
2.cookie:
//创建Cookie
Cookie cookie = new Cookie("name", "zhangsan");
//设置Cookie的超时时间
cookie.setMaxAge(24 * 60 * 60 *60);
//把Cookie发送到客户端
response.addCookie(cookie);
//得到客户端发送的Cookie
Cookie [] cookies = request.getCookies();
for(int i=0; i<cookies.length; i++) {
Cookie temp = cookies[i];
String key = temp.getName();
String value = temp.getValue();
}
3.隐藏表单域
<input type="hidden" name="name" value="zhangsan" />
request.getParameter("name");
4.Url重写
问号传参
LoginServlet?username=zhangsan&pwd=123
String name = request.getParameter("username");
String pwd =request.getPareameter("pwd");
内部跳转:
LoginServlet
request.getRequestDispatcher("index.jsp").forward(request, resposne);
外部跳转:
response.sendRedirect("index.jsp");
内部跳转是一次请求和一次响应
外部跳转是两次请求和两次响应ServletContext:Servlet上下文对象 它是一个公共区域,可以被所有的客户端共享 setAttribute():向公共区域里放入数据 getAttribute():从公共区域里取数据 三个标准范围:request, session, ServletContext 共同点:都有setAttribute(), getAttribute() 区别:范围不同,request < session < servletContext 服务器上的五大对象 request, response, servlet, session, servletContext
1.静态内容:html 2.指令:page, include, taglib: <%@ 指令名 属性1="属性值1" 属性2="属性值2" %> 3.表达式:<%=表达式 %> 4.Scriptlet<% Java代码 %> 5.声明:<%! %>:变量和方法 6.动作:<jsp:动作名 属性="属性值"></jsp:动作名> 7.注释: 客户端看不到的:<%-- --%> 客户端可以看到的:<!-- -->
1.转译:Jsp--->Servlet 2.编译:Servlet---->.class 3.执行:.class 第一次访问jsp的时候响应速度较慢,后面请求时响应速度快
表达式:<%= %> Scriptlet:<% %> 声明:<%! %>
page:language, import, errorPage, isErrorpage include:file taglib:uri:指定标签库描述符的路径 prefix:指定标签的前缀
分类: 1.输入和输出对象:request(HttpServletRequest), response(HttpServletResponse), out(JspWriter), servlet中的out是PrintWriter 2.作用域通信对象:pageContext, request, session(HttpSession), application(ServletContext) 3.Servlet对象:page(this), config 4.错误对象:exception
一个标准的JavaBean有三个条件 1.共有的类 2.具有不带参数的公共的构造方法 3.具有set()和get()方法 4.私有属性
1.useBean:创建JavaBean的一个实例
<jsp:useBean id="stu" class="com.westaccp.test.Student" scope="page/session/application/request" />
2.setProperty:给JavaBean的属性赋值
<jsp:setProperty name="stu" property="stuName" value="zhangsan" />
<jsp:setProperty name="stu" property="stuName" param="txtName" />
value和param不能同时使用
偷懒的方法:<jsp:setProperty name="stu" property="*" />
这个时候需要注意的是,表单元素的名字必须和JavaBean的属性值
一模一