21xrx.com
2024-11-08 22:03:38 Friday
登录
文章检索 我的文章 写文章
JavaWeb实战:七个示例带你入门Web开发
2023-06-11 14:58:53 深夜i     --     --
JavaWeb开发 JSP servlet

JavaWeb作为Java的一个分支,是目前Web开发领域的主流技术之一。对于想要从事Web开发的人来说,掌握JavaWeb技术是必不可少的。那么,学完JavaWeb能否找到一份不错的工作呢?答案是肯定的。

JavaWeb技术包括JSP、servlet、Struts、Spring、Hibernate等。其中,JSP和servlet是JavaWeb开发的基础。下面将介绍七个JavaWeb示例,让你快速入门Web开发。

1. 使用JSP显示日期和时间


  

   显示日期和时间

  <%

    out.println(new java.util.Date());

  %>

2. 实现登录功能


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  String username = request.getParameter("username");

  String password = request.getParameter("password");

  if("admin".equals(username) && "admin".equals(password)){

    response.sendRedirect("home.jsp");

  }else{

    response.sendRedirect("login.jsp");

  }

}

3. 使用过滤器统计访问次数


@WebFilter("/*")

public class CountFilter implements Filter {

  private int count = 0;

  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

    count++;

    System.out.println("当前访问次数为:" + count);

    chain.doFilter(request, response);

  }

  public void init(FilterConfig fConfig) throws ServletException {}

  public void destroy() {}

}

4. 文件上传


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  request.setCharacterEncoding("UTF-8");//设置编码

  //获取上传文件的目录

  String savePath = this.getServletContext().getRealPath("/WEB-INF/upload");

  File file = new File(savePath);

  //如果目录不存在,创建目录

  if(!file.exists() && !file.isDirectory()){

    System.out.println("目录不存在,创建目录:" + savePath);

    file.mkdir();

  }

  //消息提示

  String message = "";

  try{

    //使用Apache文件上传组件处理文件上传

    DiskFileItemFactory factory = new DiskFileItemFactory();

    ServletFileUpload upload = new ServletFileUpload(factory);

    //解决上传文件名的中文乱码

    upload.setHeaderEncoding("UTF-8");

    //判断是否是上传文件

    if(!ServletFileUpload.isMultipartContent(request))则直接返回

      return;

    

    //设置上传单个文件的最大值

    upload.setFileSizeMax(1024*1024);

    //设置上传多个文件的总大小

    upload.setSizeMax(1024*1024*10);

    //定义上传文件的临时目录

    String tempPath = this.getServletContext().getRealPath("/WEB-INF/temp");

    File tempFile = new File(tempPath);

    if(!tempFile.exists()){

      tempFile.mkdir();

    }

    //绑定临时目录

    factory.setRepository(tempFile);

    //解析请求的数据

    List list = upload.parseRequest(request);

    for(FileItem item : list){

      //判断上传文件的类型

      if(item.isFormField()){

        //处理普通表单字段

        String name = item.getFieldName();

        String value = item.getString("UTF-8");

        System.out.println(name + "=" + value);

      }else{

        //处理上传文件

        String fileName = item.getName();

        System.out.println("上传文件的文件名:" + fileName);

        if(fileName == null || fileName.trim().equals(""))

          continue;

        

        //处理文件名,重命名

        fileName = System.currentTimeMillis() + ".jpg";

        //获取上传文件的输入流

        InputStream is = item.getInputStream();

        //创建文件输出流

        FileOutputStream fos = new FileOutputStream(savePath + "\\" + fileName);

        //创建缓冲区

        byte[] buffer = new byte[1024];

        int length = 0;

        //写入文件

        while((length = is.read(buffer)) != -1){

          fos.write(buffer, 0, length);

        }

        //关闭流

        is.close();

        fos.close();

        //删除临时文件

        item.delete();

        message = "文件上传成功!";

      }

    }

  }catch(Exception e){

    e.printStackTrace();

    message = "文件上传失败!";

  }

  //输出消息

  request.setAttribute("message", message);

  request.getRequestDispatcher("/message.jsp").forward(request, response);

}

5. 分页查询


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  //获取当前页码,默认为1

  String pageNumberStr = request.getParameter("pageNumber");

  int pageNumber = 1;

  if(pageNumberStr != null && !"".equals(pageNumberStr)){

    pageNumber = Integer.parseInt(pageNumberStr);

  }

  //查询总记录数

  int totalCount = bookDao.getTotalCount();

  //计算总页码数

  int pageCount = (int)Math.ceil((double)totalCount/10);

  //获取当前页码对应的图书列表

  List bookList = bookDao.getBookList(pageNumber);

  //设置请求属性

  request.setAttribute("bookList", bookList);

  request.setAttribute("pageNumber", pageNumber);

  request.setAttribute("pageCount", pageCount);

  //转发到图书列表页面

  request.getRequestDispatcher("/book_list.jsp").forward(request, response);

}

6. 使用Ajax实现无刷新查询

script

function doSearch(){

  var keyword = $("#keyword").val();

  $.ajax({

    type: "POST",

    url: "search",

    data: {"keyword":keyword},

    dataType: "json",

    success: function(result){

      var html = "";

      $.each(result, function(index, item){

        html += "";

        html += "" + item.id + "";

        html += "" + item.name + "";

        html += "" + item.author + "";

        html += "" + item.publisher + "";

        html += "";

      });

      $("#search-tbody").html(html);

    }

  });

}

7. 使用Spring实现IOC和AOP

xml

  

  

  

    

    

  

通过以上七个JavaWeb示例,你应该对JavaWeb技术有了更深入的了解。学习好JavaWeb技术后,你可以尝试寻找Web开发工作。以下是三个和JavaWeb相关的

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复