不用Servlet强撸JSP页面做作业--【JAVAWEB项目实战】

JAVAWEB 系列文章目录

黑马B站视频JAVAWEB部分的知识范围、学习步骤-【思维导图知识范围】


JAVAWEB技术比较杂

韩顺平说:学习JAVA的人有两大难
第一困惑,JAVA能百度到的知识太多太多,完全不知道学啥
第二困惑,就是不知道以什么样的顺序去学,有的时候乱看一堆视频有遗漏,有的时候,两边的视频还有重复。
以下面的黑马的JAVAWEB的内容为例,具体参见《黑马B站视频JAVAWEB部分的知识范围、学习步骤-【思维导图知识范围】》本文最上的链接
在这里插入图片描述
要看这个JAVAWEB的范围,就必须要跟JAVA的知识范围对比一下。
下面拿出的是黑马的JAVA的一个视频的知识范围。
具体参见《黑马B站视频JAVA部分的知识与学习-【思维导图知识范围】
在这里插入图片描述
这里没有任何的一套视频能刚好满足任何人,任何学校的知识点。
那么这个学习很显然就必须要有选择的看。有选择的学习,有选择的练习。

面对越来越紧的时间,越来越少的知识我要怎么办

假定,你在学校做过了JAVA的小项目了。(我指的是swing 之类) 可能会点Servlet,也可能不会,那我马上就要期末了,我得搞期末的大作业,啊!!!
在这里插入图片描述
其实,不用急,仅有的JSP的这点技术,肯定是可以做项目的。只要你沉下心,这船就有打捞上来的可能。只要不怕屎山代码,都是可以爬上去的。

环境及工具:

本系列环境

环境win11
工具idea 2018
jdk1.8
数据库mysql5.5
maven不用
项目导入方式目录导入
数据库前端工具mysql-front (navicat 也可以)

数据库前端工具:mysql-front (navicat 也可以)
主要是这些跟PHPStudy 2018 整合了,所以有的时候懒的打开navicat
关于环境的重要性,直接看上面的《IDEA如何配置JAVAWEB项目–【唐诗300首】

项目里可能要用到的技术

JAVA

Java
编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
当编辑并运行一个Java程序时,需要同时涉及到四种方面:(1)Java编程语言(2)Java类文件格式(3)Java虚拟机(4)Java应用程序接口。使用文字编辑软件或集成开发环境(Eclipse或MyEclipse)在Java源文件中定义不同的类,通过调用类(这些类实现Java
API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java
API调用。 Java应用程序用户界面开发包
Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event。

JSP

JSP是一种能实现动态网页的技术。Sun公司最先提倡发行,并由多家公司共同开发与完善的。JSP技术通俗来说其实就是在普通的网页HTML文件中首先加上Java程序段来实现具体功能,然后再根据需要添加JSP标记(tag)进行记录,这样二者结合就可以形成JSP文件。其功能特别强大,基本可以实现大多数动态网页所需要的各种效果。用JSP技术所开发的网页具有跨平台的特点,在不同的操作系统,例如Windows,Linux,Winxp等操作系统上都可以运行起来。在服务器端进行大部分复杂的程序操作和功能实现操作,而这些并不需要用户直接参与或操作,最后的结果通过网络传送给用户。这样就减轻了用户工作量的同时也减少了浏览器的负担。因为有些浏览器并不支持Java语言,然而这不影响功能操作的实现,同样能够登录JSP网页,达到预想效果。
Java server page(以下简称JSP)为servlet技术的简化。JSP的功用在于它实现了Html语法中以<%, %>形式的java扩张。但是,值得注意的是,因为JSP与Servlet均在服务器端运行,故而往往以HTML文本为主要形式呈现客户端面前,所以当有 需求时,客户端可以便捷地通过浏览器来实现浏览。当网页服务器(web)遇到访问JSP提出的要求时,需要进行以下两个步骤:首先执行程序段,后将结果与htlm返回,以便系统更好运行。至于为何要进行的Java代码段的插入操作,其主要目的在于进行数据库的连接、网页重定向等等,以满足网页动态实现所需的各类功能。

HTML

Html语言是一种脚本语言,是一种规范和标准,在所有的开发语言中,是较为简单易学的一种,它有很多标签,运用标签就可以实现很多静态页面效果。虽然html语言相对其他语言来说比较简单,但是他能够实现的功能却很强大,因此受到广大用户的热爱。他可以实现静态网页设计,是学习前端设计的一门基础性语言。Html的结构包括头和主体部分,是WWW的描述语言。

TOMCAT

Tomcat服务器是一个免费的应用服务器,他的封面设计以一个动物的素描为灵感,正是因为这个设计理念,所以该项目以一个英文的动物名字为项目名称。因为其免费又好用,功能强大,所以成为大多数程序员的首选。Tomcat是一个小型的,轻量级的软件产品,他在启动运行时占用非常少的内存资源和系统开销,扩展性能比较好,支持多种应用需求,如果一个开发员对某一项功能实现特别感兴趣,他就直接可以将此功能加入到其中。Tomcat可以独立运行,身为网站的服务器,可以加载动态网页。

上代码

说了这么多了,还是上点正菜。

主页

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>快递查询</title>
<script language="JavaScript">
function clickme()
{
	  window.location.href="zc.html";
}
  function clickme1()
  {
	  window.location.href="kdgj.html";
  }
  function clickme2()
  {
	  window.location.href="guanliyuan.html";
  }
</script>
</head>
 <style>
 body{ no-repeat;background-postion:center;background-position:top;background-size:cover; }
 
</style>
<body  background="C:\Users\dongyuerun\Desktop\毕业\背景图片\4.jpg">
<center>
 <h1>快递查询,欢迎您</h1>
<br>
<hr>
<style>
*{margin0;padding:0;}
 #nav{backgroud-color:#ccc;width:960px;margin:0 auto;height:40px;}
 ul{list-style:none;}
 ul li{float:left;text-align:center;padding:20px;line-height:40px;}
 
 a{text-decoration:none;color:#000;display:block;}
 a:hover{background-color:930;color:#fff}
 
 .erji{float:none;background-color:#ccc;}
 .erji a:hover{color:#fff;background-color:#930;}
 .erji_ul{display:none;}
 ul li:hover .erji_ul{display:block;}
</style>
<table border=0>
<tr>
<td>
 <div id="nav">
 <ul>
 <li><a href="#">全国站</a>
    <ul class="erji_ul">
    <li class="erji"><a href="shenzhen.html">深圳站</a></li>
   </ul>
   </li>
 <li><a href="#">查快递</a>
     <ul class="erji_ul">
    <li class="erji"><a href="kdgsdq.html">快递公司大全</a></li>
    <li class="erji"><a href="gjkddq.html">国际快递大全</a></li>
   </ul>
 </li>
 <li><a href="#">寄快递</a>
   <ul class="erji_ul">
    <li class="erji"><a href="kdsxcx.html">快递时效查询</a></li>
    <li class="erji"><a href="kdjgcx.html">快递价格查询</a></li>
   </ul>
 </li>
 <li><a href="#">查网点</a>
 <ul class="erji_ul">
  
    <li class="erji"><a href="kddhcx.html">快递电话大全</a></li>
   </ul>
 </li>
 <li><a href="#">快递接口</a>
 <ul class="erji_ul">
    <li class="erji"><a href="hzhb.html">合作伙伴</a></li>
   </ul>
 </li>
 <li><a href="kdgj.html">快递管家</a></li>
 </ul>
 </div> 
 <input type="submit" value=登陆  onclick="clickme1()"  >
<input type="submit" value=注册  onclick="clickme()"  >
<input type="submit" value=管理员  onclick="clickme2()"  >
 
</td>
</tr>
<tr>
 <td align=center>
 	<form action=chaxun.jsp method="get">
<h2> <font color=white>全新升级  智能查询</h2>
 <input type="text" name="text" placeholder="请输入订单号">
 <input type="submit" value=查询 >
  </from>
 </td>
 </tr>
 </table>
</center>
 </body>
</html>

然后,再看登陆的后台代码,看到这个代码,怕是有经验的程序员都笑了,这完全就是屎山中的屎山代码。
没有链接池,没有JAVABean 。
甚至数据库的链接用户,密码都在页面里摆着。
但是!!!他能工作,确实是JAVAWEB的作业里要求的。只使用了JSP的页面技术。
必要的课程知识

  • Connection
    connection接口 连接界面 连接是Java应用程序和数据库之间的会话。
  • Statement
    Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。
  • ResultSet
    数据库的操作主要是分为更新操作和查询操作,查询操作的时候会将全部的查询结果返回给用户 2 resultSet接口,在使用sql中的select语句可以将数据库的全部结果查询出来。
  • request
    request 代表http请求的对象,使用HttpServletRequest接口进行。 继承结构 HttpServletRequest继承了ServletRequest,这个接口增加了更多和http协议相关的方法。
  • out
    out对象就是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流,从而把动态的内容转化成HTML形式来展示,这个对象在任何JSP页面中都可以任意访问。
    out对象是javax.servlet.jsp.JspWriter类的实例化对象,可以通过调用pageContext.getOut()方法可以获取out对象,主要功能就是完成页面的输出操作,使用println()或print()输出。
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"">
<title>欢迎您</title>
</head>
 
<body> 
<%
String driverName="com.mysql.jdbc.Driver";
String userName="root";
String userPasswd="123456";
String dbName="bishe";
String tableName="denglu";
String url="jdbc:mysql://localhost:3306/"+dbName;
Connection con=null; Statement st=null; ResultSet rs=null;
try
{
	Class.forName(driverName).newInstance();
}catch(ClassNotFoundException e)
{
System.out.print("Error loading Driver,不能加载驱动程序");
}
try
{
con=DriverManager.getConnection(url, "root", "123456");
}catch(SQLException er)
{
System.out.print("Error getConnection,不能连接数据库");
}
 try{
	 String username=request.getParameter("txtUser");
	 String password=request.getParameter("txtPassword");
	 st=con.createStatement();
	 String sql="select * from "+tableName+" where name = '"+username + "' and password = '"+password+"'";
	 rs=st.executeQuery(sql);
	 
		if(rs.next()){
			 
			response.sendRedirect("yonghu.html");
			 
		}else{
			out.print("<script language='javascript'>alert('用户名或密码错误,请检查!');</script>");
		}
			
rs.close();
st.close();
con.close();
}
 catch(SQLException er)
 {	er.printStackTrace();
	 System.out.println("Error executeQuery,不能执行查询!");}
%>
 
</body>
</html>

跑起来

这里先配置一个tomcat 的服务器,按下图的即可。
在这里插入图片描述
访问如下的URL:
http://localhost:8080/zhuye.html#

浏览器界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

好,一步成功点亮,关电,拉闸,领盒饭!走人。

总结

提示:IT是一个要多动手的职业,一定要多练不要贪快:
JAVAWEB的知识很多,很杂。不要等把所有的东西都学完了,然后再做一个项目就想着把所有的东西全理解了。这个就像你吃了四个菜一碗汤+ 2碗米饭,你吃的很满足,但是你如果认为是最后的那一口饭,或菜,或汤才是最重要的,这很显然是不对的。而JSP的这些知识就是前面的部分。

配套资源

不用Servlet强撸JSP页面做作业–【JAVAWEB项目实战】
https://download.csdn.net/download/dearmite/88191744

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

项目张雪峰之巅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值