对于Java Web开发零基础的小伙伴来说,要想搭建一个Java Web网站项目,并成功跑起来,最后在浏览器界面上看到效果,那还真不是一件特别简单的事情,本文将从零开始教你如何一步一步创建自己的Java Web网站项目,即使你是小白也能够学会。
一、安装JDK(Java Development Kit,Java开发工具包)
开发Java程序,那安装Java语言的开发工具包是必不可少的,否则你的电脑又如何能够运行Java程序呢?JDK是整个Java开发的核心,它包含了Java的运行环境(JVM+Java系统类库)和Java工具。
那就先去官网下载一个JDK吧。下载官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
不需要下载最新的JDK,但咱也不能过时吧,所以呢,当前下载JDK8是比较明智的选择。不过嘛,随着时间的推移,以后JDK出更新的版本了,你肯定也要与时俱进,下载新一点的版本。一般来说,JDK分多个版本,有Java SE——标准版,Java EE——企业版等等,咱作为个人开发者,只是小打小脑,下载个标准版就OK了。同时,也要下载符合自己电脑系统的版本和地址位数,现在很多人都是使用的64位Windows操作系统,那就以这个为例,官网下载界面如下图所示:
咱们选择最后一项进行下载即可,即:
下载好了JDK,下面就需要进行安装了。由于在JDK的安装过程中需要将JDK和JRE分开进行安装,在安装的过程中会出现两次安装提示,第一次是安装JDK,第二次是安装JRE,建议两个都安装在同一个Java文件夹中的不同文件夹中,比如本人就分别为这两个目录起名为Java JDK和Java JRE,具体的安装过程在这里就不再赘述了,如有不懂的地方,欢迎去骚扰度娘。
安装好了JDK,离成功就只差最后一步了,那就是配置环境变量,否则系统怎么知道你的JDK安装在哪里,它又怎么去调用相应的API和工具呢。进入计算机——>属性——>高级系统设置——>高级——>环境变量,首先在系统变量中新建JAVA_HOME变量,变量值填写JDK 安装目录,本人的参考如下:
然后在系统变量中找到Path变量,点击编辑,在变量值最后添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin,需要注意的是,每个路径结束处都需要使用分号”;”,本人使用的是小米电脑Windows 10系统,这个地方有点不一样,每个路径都是以列表分别呈现的,因而更加方便添加删除,本人的参考如下:
最后在系统变量下新建CLASSPATH变量,变量值填写%JAVA_HOME%\lib,这里还是要注意使用”;”分隔不同的路径,本人的参考如下:
做完了这些准备工作,是否JDK已经安装完成并生效了呢?咱们来检验一下吧,按住Windows键+R键弹出运行编辑框,输入cmd并按回车键运行,在命令行中输入java –version后按回车键运行,如果正常输出java版本信息,那就大功告成了,本人的参考如下:
二、安装Eclipse
Eclipse的下载安装就很简单了,下载的官网地址为:https://www.eclipse.org/downloads/eclipse-packages/
根据系统的版本及位数下载相应的Eclipse IDE for JavaEE Developers程序,参考如下:
下载完成后会得到eclipse-jee-oxygen-2-win32-x86_64这样一个压缩包,解压缩到相应的目录下即可,并不需要执行安装过程,双击解压缩目录下的eclipse可执行程序便可以运行。
三、安装Tomcat
Tomcat是目前比较流程的Web应用服务器,因其技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。下载官网地址为:http://tomcat.apache.org/,可以下载Windows可执行程序版本,也可以下载非可执行程序版本,本人下载的是后一种版本,通过在Eclipse中进行相应的配置,就可以在Eclipse中控制Tomcat服务器程序的开启、停止等。本人下载的是apache-tomcat-8.5.29-windows-x64压缩包,下载完后解压缩到相应目录下即可。
接下来就需要在Eclipse中配置Tomcat。正常打开Eclipse后,点击菜单栏中的Windows——>Preferences——>Server——>Runtime Environments——>Add——>Apache Tomcat v8.5——>Next,点击Browse选择Tomcat安装路径,如:C:\MySoftware\Java Web\Tomcat 8.5.29\apache-tomcat-8.5.29,点击Finish即可。
返回到Eclise编辑窗口,在最下方点击Servers导航栏,然后根据提示进行操作,创建一个服务器,创建完毕后,在右击弹出的菜单选项中进行操作便可以对服务器进行控制。如果还有什么问题,可以去请教度娘,这里不再啰嗦。
四、安装MySQL
MySQL是一个关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源代码等特性,在中小型Web应用中广泛使用。同样需要根据电脑系统的版本及位数选择下载相对应的版本,MySQL官网下载地址为:https://dev.mysql.com/downloads/mysql/,下载界面如下:
本人下载的版本是mysql-installer-community-5.7.21.0,也就是上图第2项。下载完成后,将其安装到相应的目录下即可。详细的安装过程,如有不明白的地方,可以去请教度娘。
安装完MySQL,还需要安装MySQL可视化程序,否则就只能在命令行中对MySQL数据库进行操作,那样太费劲也效率低下,推荐安装Navicat可视化工具,具体的下载安装方法,请去咨询度娘,这里不啰嗦。
同时,要想在Java程序中访问MySQL数据库,还需要下载一个java连接MySQL的驱动程序,也就是Java中的一个jar包,这个在下载MySQL的网站上就可以获取到,地址为:https://dev.mysql.com/downloads/connector/j,下载界面如下:
五、创建Java Web项目
前面做了一系列的准备工作,终于来到了最关键的地方,下面将一步一步创建一个JavaWeb项目,并将其部署到Tomcat中跑起来,最后在浏览器中成功进行访问。
1、 打开Eclipse,点击File——>New——>Dynamic Web Project,输入Project name为:JDBC,点击Next,点击Finish即可;
2、 右键点击JDBC——>Java Resources——>src下创建一个package,命名为:com.huaxin.bean,在该包下创建ClassInfoBean.java文件(对应数据库表的实体类),文件内容如下:
packagecom.huaxin.bean;
public****classClassInfoBean {
privateIntegercid;
privateStringcname;
publicClassInfoBean() {
}
publicInteger getCid() {
returncid;
}
public****voidsetCid(Integercid) {
this.cid=cid;
}
publicString getCname() {
returncname;
}
public****voidsetCname(Stringcname) {
this.cname=cname;
}
}
3、 右键点击JDBC——>Java Resources——>src下创建一个package,命名为:com.huaxin.dao,在该包下创建ClassInfoDao.java文件(数据库操作封装类),文件内容如下:
package com.huaxin.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.huaxin.bean.ClassInfoBean;
public class ClassInfoDao {
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void addClassInfo(ClassInfoBean bean) {
Connection conn = null;
Statement stmt = null;
try {
conn = DriverManager
.getConnection("jdbc:mysql://localhost:3306/studentsystem?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8",
"root","root");
String sql = "INSERT INTO class_info (cname) VALUES ('"
+ bean.getCname() +"')";
stmt = conn.createStatement();
int row = stmt.executeUpdate(sql);
if (row != 1) {
throw newRuntimeException("新增班级失败!");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public List<ClassInfoBean> findAll() {
Connection conn = null;
Statement stmt = null;
List<ClassInfoBean> classList= newArrayList<ClassInfoBean>();
try {
conn = DriverManager
.getConnection("jdbc:mysql://localhost:3306/studentsystem?autoReconnect=true&useSSL=false&characterEncoding=UTF-8",
"root","root");
String sql = "select cid,cname from class_info";
stmt = conn.createStatement();
ResultSet rs =stmt.executeQuery(sql);
while(rs.next()){
int cid=rs.getInt("cid");
String cname=rs.getString("cname");
ClassInfoBean bean = newClassInfoBean();
bean.setCid(cid);
bean.setCname(cname);
classList.add(bean);
}
} catch (SQLException e) {
e.printStackTrace();
}
return classList;
}
}
4、 右键点击JDBC——>Java Resources——>src下创建一个package,命名为:com.huaxin.servlet,在该包下创建ClassInfoServlet.java文件(处理浏览器请求及响应的Servlet类),文件内容为:
package com.huaxin.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.huaxin.bean.ClassInfoBean;
import com.huaxin.dao.ClassInfoDao;
public class ClassInfoServlet extendsHttpServlet{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponseresp)
throws ServletException, IOException {
this.doPost(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponseresp)
throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String className=req.getParameter("className");
ClassInfoDao dao =new ClassInfoDao();
ClassInfoBean bean =new ClassInfoBean();
if (className != null && !className.equals("")) {
bean.setCname(className);
dao.addClassInfo(bean);
}
List<ClassInfoBean> classInfo=dao.findAll();
req.setAttribute("classInfo", classInfo);
req.getRequestDispatcher("/classInfo.jsp").forward(req,resp);
}
}
5、 右键点击JDBC——> WebContent创建一个JSP File,命名为:classInfo.jsp(浏览器上看到的前端显示界面),内容如下:
<%@page language="java" contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import ="com.huaxin.bean.ClassInfoBean" %>
<%@page import ="java.util.List" %>
<!DOCTYPEhtml PUBLIC "-//W3C//DTD HTML4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>班级信息界面</title>
<styletype="text/css">
th{
text-align:center;
}
td{
text-align:center;
}
</style>
</head>
<scriptlanguage=”javascript”>
var checkSubmitFlg = false;
function checkSubmit(){
if(checkSubmitFlg ==true){
return false; //当表单被提交过一次后checkSubmitFlg将变为true,根据判断将无法进行提交。
}
checkSubmitFlg =true;
return checkSubmitFlg;
}
</script>
<body>
<divstyle="margin:0 auto;margin-top: 40px;">
<formaction="classInfoReq"method="POST" onsubmit="returncheckSubmit();">
<center>
<tablewidth="40%"; border="1"; bgcolor="/#FFFFC6">
<captionstyle="margin-bottom: 20px">新增班级信息</caption>
<tr><td>班级名称:</td><td><inputtype=*"text"*name=*"className"*></td></tr>
<tr><td><inputtype=*"reset"*value=*"**重置**"*></td><td><inputtype=*"submit"*value=*"**确定**"*></td></tr>
</table>
</center>
</form>
</div>
<divstyle="margin:0 auto;margin-top: 40px;">
<center>
<table width="40%";border="1";bgcolor="/#FFFFC6">
<captionstyle="margin-bottom: 20px">班级信息列表</caption>
<tr><th>班级序号</th><th>班级名称</th></tr>
<%List<ClassInfoBean>classInfo=(List<ClassInfoBean>)request.getAttribute("classInfo");
if(classInfo!=null&& !classInfo.isEmpty()){
for(ClassInfoBean classes : classInfo){
%>
<tr><td><%=classes.getCid()%></td><td><%=classes.getCname()%></td></tr>
<%}
}
%>
</table>
</center>
</div>
</body>
</html>
6、 将先前下载的连接MySQL数据库的驱动jar包拷贝到目录JDBC——>WebContent——>WEB-INF——>lib下,整个Java Web项目的目录结构如下图所示:
7、 打开先前下载安装好的Navicat for MySQL程序,点击左上角的连接,选择MySQL,输入连接名:My_Connect1,输入MySQL安装时设置的用户名和密码,点击确定,便连接上MySQL。右键点击My_Connect1,新建数据库,数据库名称为:studentsystem,字符集选择utf8,排序规则选择utf8_general_ci,点击确定便创建好了数据库studentsystem。左键双击studentsystem展开,右键单击表,新建表,在名这列第一行输入cid,类型为int,不是null勾选上,在界面下方自动递增勾选上;点击添加栏位,在第二行名列中输入cname,类型位varchar,长度设置为40,不是null勾选上,保存时名称填写为class_info;
8、 将Web应用JDBC部署到Tomcat服务器运行之前,还需要在服务器Server的web.xml文件中进行简单的配置,否则服务器又怎么知道这个网站应用的名称叫啥呢。假设先前已经在Eclipse中创建了一个Server,在Eclipse左侧项目列表中找到Servers,打开Servers——>Tomcat v8.5 Server atlocalhost-config——>web.xml文件,在该文件的末尾处添加如下代码:
<servlet>
<servlet-name>classInfo</servlet-name>
<servlet-class>com.huaxin.servlet.ClassInfoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>classInfo</servlet-name>
<url-pattern>/classInfoReq</url-pattern>
</servlet-mapping>
然后部署JDBCWeb应用到Tomcat服务器上,在Eclipse窗口下方的Servers界面中,右击Tomcat v8.5Server at locathost,点击Add and Remove,点击选择JDBC,点击Add添加到右侧,点击Finish。重启Tomcat服务器,打开浏览器,在地址栏输入http://localhost:8080/JDBC/classInfoReq,点击回车键运行,便能够看到如下图所示界面:
在班级名称栏输入计算机01班,点击确定按钮,便可以看到如下界面:
至此,一个简单的原始的Java Web网站应用便搭建完成,后续可以在此基础进行拓展、完善,并使用各种Java Web框架提高开发效率,维护效率,运行效率等。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://mp.weixin.qq.com/s/19ChKIipCJ3-EIfQBRcSig
内容来源于网络,如有侵权,请联系作者删除!