`

j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用

    博客分类:
  • j2ee
 
阅读更多

1.过滤器的使用

package com.comm;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class MyFilter implements Filter{

 @Override
 public void destroy() {
  // TODO Auto-generated method stub
  System.out.println("-----destroy()");
 }

 @Override
 public void doFilter(ServletRequest req, ServletResponse resp,
   FilterChain chain) throws IOException, ServletException {
  System.out.println("-----doFilter()");
  HttpServletRequest request = (HttpServletRequest)req;//封装客户端强求的是HttpServletRequest对象而不是ServletRequest,因此这里向下转型
  HttpServletResponse response = (HttpServletResponse)resp;
  HttpSession session=request.getSession();
  Object obj=session.getAttribute("u");
  List<String> path=new ArrayList<String>();
  path.add("/index.jsp");
  path.add("/userServlet");
  String p=request.getServletPath();
  //System.out.println("打印路径:"+p);
  if(path.contains(p)){
   chain.doFilter(request, response);
  }else{
   if(obj!=null){
    chain.doFilter(request, response);
   }else{
    response.sendRedirect("index.jsp");
   }
  }
 }

 @Override
 public void init(FilterConfig arg0) throws ServletException {
  // TODO Auto-generated method stub
  System.out.println("-----init()");
 }

}

 

 

2.EL表达式和标准标签库的使用

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page  import="com.dao.*,com.dao.impl.*,com.entity.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'msgList.jsp' starting page</title>
   
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 
     <link rel="stylesheet" type="text/css" href="style/style.css">
    
    
  </head>
 
  <body>
       <%
          Users u=(Users)session.getAttribute("u");
          ArrayList<Message> mlist=(ArrayList<Message>)session.getAttribute("mlist");
       %>
   
     <div align="center">
   <%--  用户信息  --%>
   <div style="width:500px">
     当前用户${u.uname }
     <a href="userServlet?op=exit">[登出]</a>
     <a href="userServlet?op=tofasong">[给旧号码发短消息]</a>
     <a href="post2.jsp">[给新号码发短消息]</a>
 </div>

   <h2 align="left" style="width:600px">我的短消息</h2>
   
    <%-- 短消息列表 --%>
    <div align="left" style="width:600px">
      <form action="">
          <table>
          <tr>
               <th><a href="javascript:document.myform.submit()">批量删除</a></th>
               <th>内容</th>
               <th>发送者</th>
               <th>发送时间</th>
               <th>状态</th>
               <th>操作</th>
            </tr>
            <c:forEach var="b" items="${mlist}" varStatus="a">
                     <tr <c:if test="${a.index%2==0}">style="background-color: gray" </c:if>
                     <c:if test="${a.index%2!=0}"> style="background-color: #ffff00" </c:if>>
            <td><input type="checkbox" name="cbox" value="${b.mid}"/></td>
            <td>${b.mcontent}</td>
            <td>${b.sendUname}</td>
            <td>${b.mtime }</td>   
            <c:if test="${b.state eq 1}">
          <td><img src="image/old.jpg"/></td><!-- 已读 -->
         </c:if>
         <c:if test="${b.state==0}">
          <td><img src="image/new.jpg"/></td><!-- 未读 -->
         </c:if>
          <td>
          <a href="messageServlet?op=seaByid&mid=${b.mid}">查看详情</a>
          <a href="messageServlet?op=delmessage&mid=${b.mid}">删除</a>
          </td>
           </tr>
              </c:forEach>
            
           
          </table>
      </form>
     
     
     
    </div>
  </div>
   
  </body>
  
</html>

 

分享到:
评论

相关推荐

    j2EE的简单web开发

    对于j2EE的简单web开发,其中有各种j2EE web开发过程中会使用到的技巧,如el表达式,jstl自定义标签,过滤器的使用等 通过这些来实现登录 注册 修改 删除 分页 等功能

    J2EE(Java EE)技术总结-J2EE学习精华教程-电子书

    .....Web_JSP_EL表达式 .....Web_JSP+Servlet_作用域(上下文) .....Web_JSP+Servlet_性能调优 .....Web_Cookie和Session .....Web_过滤器 .....Web_MVC设计模式 .....JDBC .....JDBC_各种数据库连接 .....XML_基础 ....

    基于JavaWeb + Mysql + Layui实现的宿舍管理系统源码+数据库+演示截图+项目说明.zip

    - 后端方面:JavaSe核心语法、MVC(controlle层、service、dao层)模型开发、jsp相关语法(jstl标签库、el表达式)、maven构建项目和管理jar包 - 前端方面:JavaScript(jquery)核心语法、AJAX异步刷新、Layui前端 UI...

    JAVA上百实例源码以及开源项目源代码

    FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java开源包8

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    Java资源包01

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包1

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包11

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包2

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包3

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包6

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包5

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包10

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包4

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包7

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包9

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

    java开源包101

    parboiled 是一个纯Java库提供了一种轻量级,易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施。你定义的Java源代码的语法规则,直接,没有必要专门编写和维护,外部语法文件。同时保持蒸提供全面的支持,...

Global site tag (gtag.js) - Google Analytics