用JSP实现一个查询单词的网页

用JSP实现一个查询单词的网页

本文目的:实现一个查询单词的网页,能依据拼写、词性、难度范围等信息查出所需词汇的释义来。网页参照汉典的风格。要求建立大学四级、六级词汇表放到MYSQL数据库中,至少包括:单词、词性、释义、难度(标记是4级的还是6级还是其他)。能依据释义内容,模糊查出对应的单词。实现对单词表中a,b,c到z开头单词个数的统计,结果以表格输出到网页上。

1. 在MySQL数据库中建立数据表

用图形化管理工具Navicat Premium 连接MySQL数据库,在数据库“test”下建立一张名为“word”的数据表。
这里写图片描述

2.建立JSP文件

关于Tomcat的设置,前面文章有作介绍,这里不再赘述。我关于此网页的风格参照汉典,进入主页面后,先选择按照某种方式搜索(英文或汉语意思),如不选择,默认为输入英文进行搜索。建立4个搜索主页面的JSP文件,分别按照英文,汉语,词性,难度等级进行查询,查询时分别跳转到各自的查询结果表,再加上一个统计首字母单词个数的JSP文件。

1)Home.jsp文件

这是网页的主页面,默认是按照英文进行查询,另外三个查询的JSP文件于此类似,并且都有超链接可以相互跳转。

<%@ page contentType="text/html"%>  
<%@page pageEncoding="UTF-8"%>  
<html>  
<head>
<title>查询单词主页</title>
</head>
<body style="background:url(http://img1.imgtn.bdimg.com/it/u=1680093947,1418848796&fm=200&gp=0.jpg) center;background-size:cover"><%--设置背景图片--%>
</br></br></br>
<form action="es.jsp" method="POST">
<table align="center">
<h1 style="text-align:center;font-size:50px">小白词典</h1>
<tr>
    <td id="tm1">
        <a title="按英文查询" href="http://localhost:8080/Home.jsp">按英文查询</a>    &nbsp;      
    </td>   
    <td id="tm2">
        <a title="按中文查询" href="http://localhost:8080/h2.jsp">按中文查询</a>  &nbsp;
    </td>
    <td id="tm3">
        <a title="按词性查询" href="http://localhost:8080/h3.jsp">按词性查询</a>  &nbsp;
    </td>
    <td id="tm4">
        <a title="按难度查询" href="http://localhost:8080/h4.jsp">按难度查询</a>
    </td>
</table>
</tr>
<table align="center"> 
<tr>
</br>
    <td><input type="text" name="english" size="30" placeholder="请输入英文进行查询"></td>
    <th><input type="submit" value="搜索"></th>
</tr>
</table>
</form>
<form action="count.jsp" method="POST">
<table align="center">
<tr>
</br></br>
<td><input type="submit" value=" 统计首字母开头单词个数(A-Z)" ></td>
</tr> 
</table>
</body>
</html> 

网页的主页面如下图所示:
这里写图片描述

2)es.jsp

这是按照英文查询单词结果的JSP文件,另外三个查询结果JSP文件与此类似。

<%@page contentType="text/html" pageEncoding="UTF-8" %>   
<%@page import="java.sql.*" %> 
<html>
<head>
<title >单词查询</title>
</head>
<body style="background:url(http://p0.so.qhimgs1.com/bdr/_240_/t01127c805d1f6209dc.jpg) center;background-size:cover">
<%      
        try {  
            Class.forName("com.mysql.jdbc.Driver");  ////驱动程序名
            String url = "jdbc:mysql://localhost:3306/test"; //数据库名
            String username = "root";  //数据库用户名
            String password = "123456";  //数据库用户密码
            Connection conn = DriverManager.getConnection(url, username, password);  //连接状态
            if(conn != null){  
                out.print("数据库连接成功!");  
                out.print("<br />");  
                out.print("<br />");
%>
<table align="center" border="2">
<tr>
<td width="100" english="title">英文</td>
<td width="100" pos="title">词性</td>
<td width="100" chinese="title">中文</td>
<td width="100" grade="title">难度</td>
</tr>
<%
                Statement stmt = null;  
                ResultSet rs = null; 
                String english =request.getParameter("english");        
                String sql = "SELECT * FROM word WHERE english like '%"+english+"%' ";    //查询语句
                stmt = conn.createStatement();  
                rs = stmt.executeQuery(sql);  
                out.print("查询结果:");  
                while (rs.next()) {%>
  <tr>  
    <td width="100" ><%=rs.getString("english") %></td>  
    <td width="100" ><%=rs.getString("pos") %></td>  
    <td width="100"><%=rs.getString("chinese") %></td>  
    <td width="100"><%=rs.getString("grade") %></td> 
  </tr>
<%               
            } 
            }else{  
                out.print("连接失败!");  
            }  
        }catch (Exception e) {        
            e.printStackTrace();  
            out.print("数据库连接异常!");  
        }  
%>
</table>
<h1 align="center" ><input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回上一页"> </h1>
</body>
</html>

3)count.jsp

这是统计从a到z首字母开头单词个数的JSP文件。

<%@ page contentType="text/html"%>  
<%@page pageEncoding="UTF-8"%>  
<%@page import="java.sql.*" %> 
<html>
<head>
<title >单词统计</title>
</head>
<body style="background:url(http://p0.so.qhimgs1.com/bdr/_240_/t01127c805d1f6209dc.jpg) center;background-size:cover">
<%  
        try {  
            Class.forName("com.mysql.jdbc.Driver");  ////驱动程序名
            String url = "jdbc:mysql://localhost:3306/test"; //数据库名
            String username = "root";  //数据库用户名
            String password = "123456";  //数据库用户密码
            Connection conn = DriverManager.getConnection(url, username, password);  //连接状态
            if(conn != null){  
                  %>
<h2>首字母单词个数统计:</h2>
<table align="center" border="2">
<tr>
<td width="50" initial="title">首字母</td>
<td width="50" count(initial)="title">统计</td>
</tr>
<%
                Statement stmt = null;  
                ResultSet rs = null; 
                String sql = "SELECT firstLetter,count(firstLetter) FROM word GROUP BY firstLetter;";  //查询语句
                stmt = conn.createStatement();  
                rs = stmt.executeQuery(sql);  
                while (rs.next()) {%>   
<tr>
<td width="50"><%=rs.getString("firstLetter") %></td>
<td width="50"><%=rs.getString("count(firstLetter)") %></td> 
</tr>
          <%} 
            }else{  
                out.print("连接失败!");  
            }  
        }catch (Exception e) {        
            e.printStackTrace();  
            out.print("数据库连接异常!");  
        }  
%> 
</table>
<h1 align="center" ><input type="button" name="Submit" onclick="javascript:history.back(-1);" value="返回"> </h1>

3.用浏览器打开JSP网页

这里写图片描述

猜你喜欢

转载自blog.csdn.net/mingzhuo_126/article/details/80955964