Bootstrap+JSP实例学习笔记一.简单的带登录功能的首页

  • 前言

Bootstrap 是流行的 HTML、CSS 和 JS 框架,用于开发响应式布局、移动设备优先的 WEB 项目。源自于twiteer内部的开发框架。

当前(2019-05)最新版本是v3.3.7。

官网:https://v3.bootcss.com/

学习初衷: 不能每来一个项目都重头开始吧,希望积累框架,节省时间,快速上手,尽快出效果。不用太花哨,但也不能太难看。

选一个简单易上手的框架,那就选这个bootstrap吧。

 

  • 效果图

没使用样式:

使用bootstrap样式:

自己写的样式:

使用bootstrap样式:

 

作为后端开发人员,我们不需要懂太多的前端美工知识,但是又不想做出来太难看,在保证快的基础上,出一个还可以的界面。

 

  • 实战(step by step):

 工具:Eclipse Java Photon 4.8.0

说明: 网上已经很多这类介绍了,这里更多的是做一个整合。并把自己学习过程的一些步骤关键点记录下来,看官可以挑着看。

一:配置开发环境

1.新增动态网页库以及配置tomcat

默认eclipse已安装,但默认是没有动态网页的,需要安装配置下。

参考:https://blog.csdn.net/weixin_40626699/article/details/83341560

2. 新建一个动态Web项目

参考:https://www.cnblogs.com/sanmubird/p/6940522.html

如果报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

那么需要配置tomcat,参考:http://www.cnblogs.com/herd/p/9548592.html

然后关联到项目中,参考:https://blog.csdn.net/testcs_dn/article/details/36455669

如果这个过程还没有找到可选的tomcat配置,则可以参考下图下载配置一个:

 

3. 项目中引入bootstrap

参考:引入BootStrap开发一个JSP项目

https://cloud.tencent.com/developer/article/1343258

 

4. 实例: 写一个简单的带登录功能的首页

参考:

https://cloud.tencent.com/developer/article/1343207

https://www.cnblogs.com/ATtuing/p/5424227.html

视频教程:https://study.163.com/course/courseLearn.htm?courseId=1002923012#/learn/video?lessonId=1003312146&courseId=1002923012

 

1) Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
 <!-- 这里没啥用,前面已经定义过了,只是好习惯留着 -->
<meta charset="UTF-8">
 <!-- 设置为设备的宽度,高端为1:1。以便适应手机端浏览。-->
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Login</title>
<link rel="stylesheet" type="text/css" href="<%=basePath %>/bootstrapcss/css/bootstrap.min.css" >
 <link rel="stylesheet" href="/bootstrap_study/myCss/login.css">
 <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
   <form action="Login_Check.jsp" method="post" class="form-horizontal">
       <filedset>
           <legend><lable> <span class="glyphicon glyphicon-user"></span>&nbsp;User login </lable></legend>
   
      <div class="row">  
        <!--栅格系统,每row行共12列,分个3div,每1,3个div占3列,第2个div则占5列,即3列+5列+4列=12列--> 
        <div class="col-sm-3"><span class="glyphicon glyphicon-user"></span>&nbsp;UserName: </div>
        <div class="col-sm-5"><input type="text" name="ID" placeholder="Plese input your username" class="form-control">  </div>
        <div class="col-sm-4"></div>
      </div>
      <div class="row">      
        <div class="col-sm-3"><span class="glyphicon glyphicon-lock"></span>&nbsp;Password: </div>
        <div class="col-sm-5"><input type="password" name="PWD" placeholder="Plese input your password" class="form-control"></div>
        <div class="col-sm-4" ></div>
      </div>
      
          <div class="row">  
          <div class="col-sm-5 col-sm-offset-3">      
           <input type="submit" value="Login" class="btn btn-xs btn-primary">
           <input type="reset" value="Reset" class="btn btn-xs btn-warning">
         </div>
  </div>
       
    </filedset>
    </form>    
</div>
</body>
</html>
View Code

2) Login_check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%>
      <%@ page import="java.io.*" %>
     <%@ page import="java.util.*" %>
     <%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</script>

</head>
<body>

<%
Class.forName("com.mysql.jdbc.Driver");
System.out.println("创建数据库驱动成功!");
 //DataSource ds = null;

  String dbUrl="jdbc:mysql://IP:端口/数据库名"; 
     String Username="账号"; 
     String Password="密码"; 
     Class.forName("com.mysql.jdbc.Driver").newInstance();
 //    Connection conn = DriverManager.getConnection(dbUrl,Username,Password);//连接
 //    Statement stmt=conn.createStatement();//会话
  //   ResultSet rst=stmt.executeQuery("select * from yourTable");
  
  String ID=null;
  String PWD=null;
 //while(rst.next())
 {
  //ID=rst.getString("yourColumnName");
  //PWD=request.getParameter("PWD");
 
 }
 ID="1";
 if(ID.equals(ID))
 {
     %>
     <jsp:forward page="Login_Success.jsp">
     <jsp:param name="uname" value="<%=ID%>"/>
     </jsp:forward>
     <%
     }else{
     %>
     <jsp:forward page="Login_Failure.html"/>
     <%
     }
     %>

</body>
</html>
View Code

 

3) Login_sucess.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="<%=basePath %>/bootstrapcss/css/bootstrap.min.css" >
</head>
<body>
    <filedset>
           <legend><lable> <span class="glyphicon glyphicon-hourglass"></span>&nbsp;Welcome </lable></legend>
           </filedset>
  Welcome.  <%="ID"%>

</body>
</html>
View Code

 

4) login_failure.html

  

  • 学习笔记:

1. JSP页面编码

默认项目没配置情况下,新建的页面默认是GBK,部署后可能显示乱码,那么需要在页面设置一下为UTF-8。

1) <%@ page contentType="text/html; charset=UTF-8"  %>

那不能每个页面都设置一下吧,那么对整个eclipse一起设置:

2) Windows---->Preferences---->JSP--->把这个目录下的Encoding选为你要设置的编码UTF-8。

2. JSP获取当前项目路径

引用css时,需要考虑开发环境与部署环境的路径差异,因此不想把项目路径写死到代码中。可以通过以下代码获取路径并配置。

在页面开头部分添加:

<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
说明:得到工程名:request.getContextPath()

3. 引入bootstrap配置

<head>

<link rel="stylesheet" type="text/css" href="<%=basePath %>/bootstrapcss/css/bootstrap.min.css" >

</head>

注意:这里的<%=basePath %>就是上述获取到的项目路径,当然测试的时候你可以写死项目的名字

4. bootstrap.min.css与bootstrap.css区别

bootstrap.css 是未压缩的,bootstrap.min.css是压缩过的。一般情况下,未压缩的用于开发环境,如果程序出错方便调试。而压缩过的用生生产环境,大大减少网络数据传输量,便之更快更节约流量……其它 .min.css 和 .min.js 文件同理。

5. <div class="container">

container容器,大概是占屏幕宽度的80%,然后居中对齐。

所以建议,在最外层,可以放在容器中。

6. <meta name="viewport" content="width=device-width,initial-scale=1.0">

https://blog.csdn.net/u012402190/article/details/70172371

7. form表单中,分组归类fieldset

fieldset:对表单进行分组,一个表单可以有多个fieldset。
legend:说明每组的内容描述。

7. 栅格布局col-xs-*、col-sm-*、col-md-*、col-lg-*

bootstrap的栅格布局,默认会将每行的row分为12列
col是column简写:列;

xs是maxsmall简写:超小, sm是small简写:小,  md是medium简写:中等, lg是large简写:大;

-* 表示占列数,即占每行row分12列栅格系统比,如.col-md-3 在中等屏幕中占3列也就是1/4(12/3列=4个div);

     .col-xs-* 超小屏幕如手机 (<768px)时使用;

     .col-sm-* 小屏幕如平板 (768px ≤ 宽度 <992px)时使用;

     .col-md-* 中等屏幕如普通显示器 (992px ≤ 宽度 < 1200px)时使用;

     .col-lg-* 大屏幕如大显示器 (≥1200px)时使用。

--可以混合使用,t以适应不同的屏幕,如:


<div class="col-xs-12 col-sm-9 col-md-6 col-lg-3">测试</div>
<!--
当屏幕尺寸:
小于 768px 的时候,用 col-xs-12 类对应的样式;
在 768px 到 992px 之间的时候,用 col-sm-9 类对应的样式;
在 992px 到 1200px 之间的时候,用 col-md-6 类对应的样式;
大于 1200px 的时候,用 col-lg-3 类对应的样式;

-->

转载于:https://www.cnblogs.com/xiaoer/p/10904752.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jfinal2.0是一款基于Java语言的轻量级开源Web应用框架。它具有简单易用、快速开发、高效稳定等特点。采用了MVC架构模式,通过注解方式配置路由,可以实现快速、灵活地进行控制器的映射。同时,它也支持AOP、ORM等常用的开发模式,通过简化繁琐的代码操作,提高了开发效率。 bootstrap是一款HTML、CSS和JavaScript框架,用于开发响应式、移动设备优先的网站和Web应用。它提供了丰富的CSS样式和JavaScript插件,可以快速搭建出漂亮的、兼容性良好的界面。同时,bootstrap还支持自定义主题、响应式布局等功能,非常适合用于快速构建用户友好的界面。 seajs是一款用于JavaScript模块化开发的框架。它采用了CMD规范,通过define和require等方法对模块进行定义和引用。seajs可以帮助开发人员管理和加载模块,实现代码的模块化,提高了代码的可维护性和复用性。除此之外,seajs还支持插件机制、异步加载等功能,更好地适应了复杂的Web应用开发需求。 fullcalender.js是一款基于JavaScript和jQuery的全功能日历插件。它提供了丰富的功能,如日程管理、事件编辑、拖拽操作等。同时,fullcalender.js还支持各种视图模式的切换,如月、周、日视图,并且支持自定义样式和事件处理函数,可以方便地适应各种日历需求。使用fullcalender.js可以使用户在Web应用中更加方便地管理和查看日期和事件信息。 ### 回答2: jfinal2.0是一种基于Java的轻量级MVC框架,它具有简单易用、高效快速的特点。通过JFinal2.0,开发人员可以快速搭建Java Web应用程序,并且具有良好的扩展性和灵活性。 Bootstrap是一种前端开发框架,它提供了丰富的组件和样式,可以帮助开发人员快速构建美观且响应式的网页。通过Bootstrap,开发人员可以使用预定义的样式和布局,使网页在不同的设备上显示效果一致。 Seajs是一种模块加载器,它可以帮助开发人员更好地组织和管理JavaScript代码。通过Seajs,开发人员可以将代码分割成独立的模块,通过异步加载的方式进行模块依赖管理,提高前端开发的效率。 FullCalendar.js是一种用于显示和操作日历的JavaScript库。它可以帮助开发人员在网页中嵌入交互式的日历控件,并且支持事件的添加、编辑和删除等功能。通过FullCalendar.js,开发人员可以轻松实现日历功能,例如会议安排、活动管理等。 综上所述,jfinal2.0、bootstrap、seajs和fullcalender.js都是在不同场景中用于简化开发工作的工具和框架。它们可以使开发人员更高效地开发应用程序,并提供了丰富的功能和易用的界面,为用户提供更好的体验。 ### 回答3: JFinal 2.0是一款基于Java语言的开源Web开发框架,它提供了简单易用的API和插件机制,可以帮助开发者快速构建高性能的Web应用程序。JFinal 2.0具有轻量级和灵活的特点,拥有良好的MVC架构和面向切面编程的支持。它还提供了丰富的插件来扩展应用的功能,例如插件管理、权限控制、缓存管理等。JFinal 2.0还集成了Bootstrap、Sea.js和FullCalendar.js等优秀的前端框架和组件,使开发者可以更方便地实现各种前端交互效果和页面布局。 Bootstrap是一款开源的前端框架,它提供了丰富的CSS和JavaScript组件,能够帮助开发者快速构建响应式的Web页面。Bootstrap具有简洁美观的设计风格和灵活的布局系统,可以适应不同屏幕大小的设备,并提供了丰富的样式和组件,例如按钮、表单、导航条等,可以帮助开发者快速构建出现代化的Web界面。 Sea.js是一款用于浏览器端JavaScript模块化开发的工具。它采用的是CMD规范,可以将JavaScript代码按照模块化的方式进行组织和管理,提供了便捷的模块定义和加载机制。Sea.js还提供了丰富的插件系统和调试工具,可以帮助开发者更高效地进行JavaScript开发。 FullCalendar.js是一款功能强大的日历插件,它基于jQuery开发,提供了丰富的日历展示和日程管理功能。FullCalendar.js可以将日历事件以可视化的方式展示,并支持日程的拖拽和编辑功能,可以方便地进行日程的增删改查操作。FullCalendar.js还提供了多种日历视图和自定义配置选项,可以适应不同的日程管理需求。 综上所述,JFinal 2.0结合Bootstrap、Sea.js和FullCalendar.js等前端框架和组件,可以帮助开发者高效地构建性能优越、界面美观、功能丰富的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值