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

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

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

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

用图形化管理工具Navicat Premium 连接MySQL数据库,在数据库“test”下建立一张名为“word”的数据表。
用JSP实现一个查询单词的网页_第1张图片

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>           
    td>   
    <td id="tm2">
        <a title="按中文查询" href="http://localhost:8080/h2.jsp">按中文查询a>   
    td>
    <td id="tm3">
        <a title="按词性查询" href="http://localhost:8080/h3.jsp">按词性查询a>   
    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> 

网页的主页面如下图所示:
用JSP实现一个查询单词的网页_第2张图片

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("
"
); out.print("
"
); %>
<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网页

你可能感兴趣的:(MySQL,JSP)