从零搭建Java Web网站项目

x33g5p2x  于2020-11-02 转载在 Java  
字(9.9k)|赞(0)|评价(0)|浏览(851)

对于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框架提高开发效率,维护效率,运行效率等。

 

 

 

相关文章

最新文章

更多