`
xp9802
  • 浏览: 1183598 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

servlet总结

阅读更多

servlet
1.webapps下的目录结构
 项目名称:
  -WEB-INF
   -classes文件夹
   -lib文件夹
   -web.xml
 <servlet>
 <servlet-name>filterServlet</servlet-name>
 <servlet-class></servlet-class>
 </servlet>

 <servlet-mapping>
 <servlet-name>filterServlet</servlet-name>
 <url-pattern></url-pattern>
 </servlet-mapping>
2.servlet要运行于服务器端
3.要具有处理客户端请求能力,必须要实现servlet接口,继承GenericServlet或HttpServlet
   
4.servlet的生命周期
  init(),service(),destroy()
  当第一个请求到来的时候,容器为我们生成servlet对象,

  而且在整个过程中只有这么一个对象,对象创建后会自动调用init()方法,
  仅调用一次,之后调用service()方法以多线程形式处理客户端请求,最后当服务器
  关闭,或强行加载的时候调用distroy()方法
5.HttpServletRequest主要用来接收客户端信息,HttpServletResponse主要用来设置返回给客户端的信息
  主要方法:
   request:getParameter(String s),setAttribute(String name,Object value)
            getAttribute(String name),setCharacterEncoding(String encoding);
     getRequestDispatcher(String url).forward(request,response);
   response:setCharacterEncoding(String encoding),setContentType("text/html;charset=GBK");
     getWriter();sendRedirect(String url)
6.ServletConfig
  得到方式:ServletConfig=this.getServletConfig()
  得到web.xml里面的参数信息:getInitParameter(String name)
7.过滤器
  过滤器必须实现Filter(javax.servlet.Filter)
  doFilter(ServletRequest request,ServletResponse,FilterChain nextChain)
  {
 nextChain.doFilter(request,response)
  }
  web.xml配置:
  <filter>
 <filter-name></filter-name>
 <filter-class></filter-class>
 </filter>

 <filter-mapping>
 <filter-name></filter>
 <url-pattern>/*</url-pattern>
  or
  <servlet-name>filterServlet</servlet-name>
 </filter-mapping>
jsp

1.基本语法
 (1).注释<%-- --%>jsp注释
  <!--<%=new java.util.Date() --> html注释
 (2).<% %>脚本段
 (3).<%! %>声明
 (4).<%= %>表达式(单独使用,还可以为变量赋值)
2.编译指令
 <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GBK"
  session,isErrorPage,ErrorPage,contentType,isThreadSafe%>
  <%@ include file="url" %>
  <%@ taglib prefix="" uri="" %>
3.动作指令
     (1)<jsp:forward page="url">
 <jsp:param>
 <param-name></param-name>
 <param-value></param-value>
 </jsp:param>
 </jsp:forward>
 注意事项:
 (1)forward下面的所有语句不会被执行到
 (2)当前页面和转向页面共用一个request对象
      (2)<jsp:include page="url?name=value">
       <jsp:param>
  <param-name></param-name>
  <param-value></param-value>
  </jsp:param>
    </jsp:include>
  1.url可用变量代替
  2.可传递参数
 (3)<jsp:userBean id="user" class="com.ibm.User" scope="session"></jsp:useBean>
  相当于
  <% User user = new User(); %>
  //设置属性值
     <jsp:setProperty name="user" property="username" value="zhangsan"></jsp:setProperty>
  相当于
  <% user.setUsername("zhangsan");%>
  //获取属性值
   <jsp:getProperty name="user" property="username"></jsp:setProperty>
  相当于
  <% user.getUsername();%>

  注意事项:
  (1)javabean要提供无参构造方法
  (2)成员变量一般设成私有的,并且首字母小写
  (3)要有set和get方法
4.jsp九大内置对象
  (1)out (2)session (3)request (4)response (5)application (6)pageContext
  (7)page (8)config (9)exception
5.page,request,session,application作用范围
  page:当前页面
  request:就是一次请求(request.setAttribute("list",new ArrayList()),request.getAttribute("list"))
  session:一次会话((session.setAttribute("list",new ArrayList()),session.getAttribute("list"))
  application:整个web项目((application.setAttribute("list",new ArrayList()),application.getAttribute("list")))
6.form表单的各元素
 文本框:<input type=text name=username />
 密码框:<input type=password name=password />
 单选按钮:<input type=radio name=myradio checked />
    <input type=radio name=myradio />
 复选框:<input type=checkbox name=mycheckbox />
  <input type=checkbox name=mycheckbox />
 下拉列表:<select name=myselect>
   <option value=1 selected>刘德华</option>
 
    </select>
 文本域:   <textarea cols=10 rows=10 name=mytextarea>
   默认文字
     </textarea>
 提交按钮:<input type=submit value="提交">
 重置按钮:<input type=reset value="重置">


 取值方法:
  单值:request.getParameter(String name);
  多值:String s[]=request.getParameterValues(String name);
7.四种会话跟踪技术
  (1)Cookie
   (2) 隐藏表单域(<input type=hidden name="" value=>
   (3) url重写
   (4)内部session(session.setAttribute(String name,Object value),session.getAttribute(String name))
   使用session注意:使用完要将session中的信息清除掉
   session.remove(String name):清除session中的某个值
   session.invalid():使所有的session都失效

8.两种模式
   1.mv(model,view)
   2.mvc(model,view,cotroller)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics