• 顶会热词2


    论文检索功能

    find.jsp文件代码:

      1 <%@ page language="java" contentType="text/html; charset=UTF-8"
      2     pageEncoding="UTF-8"%>
      3 <!DOCTYPE html>
      4 <html>
      5 <head>
      6 <meta charset="ISO-8859-1">
      7 <title>论文查询</title>
      8 <link rel="stylesheet" href="css/style.css">
      9                   <link rel="stylesheet" href="./css/index.css">
     10         <link rel="stylesheet" href="./css/iconfont.css">
     11         
     12         <link rel="stylesheet" href="layui/css/layui.css">
     13         
     14         <script src="./lib/layui/layui.js" charset="utf-8"></script>
     15         <script type="text/javascript" src="./js/index.js"></script>
     16         <script src="./js/jquery.js"></script>
     17         <script src="./js/jquery.min.js"></script>
     18         <script src="./js/survey.js"></script>  
     19 
     20 </head>
     21 <style>
     22 input[type=text] {
     23   width: 100%;
     24   padding: 16px 20px;
     25   margin: 8px 0;
     26   display: inline-block;
     27   border: 1px solid #ccc;
     28   border-radius: 4px;
     29   box-sizing: border-box;
     30 }
     31 select{
     32   width: 100%;
     33   padding: 16px 20px;
     34   border: none;
     35   border-radius: 4px;
     36   background-color: #66ccff;
     37 
     38 }
     39 input[type=submit] {
     40   width: 100%;
     41   background-color: #66ccff;
     42   color: white;
     43   padding: 16px 20px;
     44   margin: 8px 0;
     45   border: none;
     46   border-radius: 4px;
     47   cursor: pointer;
     48 }
     49 
     50 input[type=submit]:hover {
     51   background-color: #45a049;
     52 }
     53 input[type=button], input[type=reset] {
     54   background-color: #66ccff;
     55   border: none;
     56   color: white;
     57   padding: 16px 32px;
     58   text-decoration: none;
     59   margin: 4px 2px;
     60   cursor: pointer;
     61 }
     62 </style>
     63 <script type="text/javascript" src="js/jquery.min.js"></script>
     64 <script type="text/javascript">
     65 var detail_div = 1;
     66 var realtotal=1;
     67 function add_div() {
     68     var str="<table align='center'> <tr><td><select name='lianjie"+detail_div+"'> <option value='AND'>AND</option>  <option value='OR'>OR</option> <option value='NOT'>NOT</option>";
     69     str=str+"</select></td><td><select name='tiaojian"+detail_div+"'><option value='题目'>题目</option><option value='摘要'>摘要</option><option value='关键词'>关键词</option><option value='作者'>作者</option></select></td><td><input type='text' name='input"+detail_div+"'></td><td><select name='jingdu"+detail_div+"'><option value='精准'>精准</option><option value='模糊'>模糊</option><td><input type='button' id='addbtn"+detail_div+"' value='+' onclick='add_div()'></td>";
     70     str=str+"<td><input type='button' id='delebtn"+detail_div+"' value='-' onclick='dele_div(this)'></td></tr></table>";
     71     var div = document.createElement("div");
     72     //div.className = "form-group";
     73     div.id = "lotdiv" + detail_div;
     74     div.innerHTML = str;
     75     document.getElementById("biaodan").appendChild(div);
     76     detail_div++;
     77     realtotal++;
     78     document.getElementById("sum").value=detail_div;
     79     document.getElementById("realsum").value=realtotal;
     80 }
     81 function dele_div(obj){
     82     var id=obj.id;
     83     realtotal--;
     84     id=id.substring(7);
     85     var e = document.getElementById("lotdiv"+id);
     86     document.getElementById("biaodan").removeChild(e);
     87     document.getElementById("sum").value=detail_div;
     88     document.getElementById("realsum").value=realtotal;
     89 }
     90 var findnummm=0;
     91 var resnum=0;
     92 var alldata;
     93 function sendAjax(){
     94     var url = "servlet?method=findlunwen&randnum=" + Math.random();
     95    // var name = "nb";
     96    // alert("name:"+name+", url:"+url);
     97     //var data = {
     98         
     99    // };
    100     $.ajax({
    101         type: "get",
    102         url: url,
    103         data: $('#biaodan').serialize(),
    104         dataType: "json",
    105         success: function(result){
    106             //alert("success--result:"+result[0].title);
    107             alldata=result;
    108             reslist(result);
    109             if(findnummm==0){
    110                 addresfinddiv();
    111                 findnummm=1;
    112             }           
    113             else changeresnum();
    114         },
    115         error: function(){
    116             alert("error");
    117         }
    118 
    119     });
    120 }
    121 function reslist(data){
    122     var tab=document.getElementById("restable");
    123     var str="<tr><td width='35%'>标题</td><td width='35%'>作者</td><td width='15%'>时间</td><td width='15%'>链接</td></tr>";
    124     for(i in data){
    125         str=str+"<tr><td>"+data[i].title+"</td><td>"+data[i].zuozhe+"</td><td>"+data[i].time+"</td><td><a target='_blank' href='"+data[i].lianjie+"'>"+"点此阅读文章"+"</a></td></tr>";
    126         resnum=resnum+1;
    127     }
    128     tab.innerHTML = str;
    129 }
    130 function addresfinddiv(){
    131     var formdiv=document.getElementById("tjdiv");
    132     var str="<select id='resselect' onchange='changedata()'><option value='选择年份'>选择年份</option><option value='近三年'>近三年</option><option value='近两年'>近两年</option><option value='去年'>去年</option></select>";
    133     str=str+"<h2 align='center' id='totalnumh'>一共"+resnum+"条</h2>"
    134     var div = document.createElement("div");
    135     div.id="changeresdiv";
    136     div.innerHTML = str;
    137     formdiv.appendChild(div);
    138     resnum=0;
    139 }
    140 function changeresnum(){
    141     var formdiv=document.getElementById("tjdiv");
    142     //document.getElementById("totalnumh").remove();
    143     document.getElementById("changeresdiv").remove();
    144     var str="<select id='resselect' onchange='changedata()'><option value='选择年份'>选择年份</option><option value='近三年'>近三年</option><option value='近两年'>近两年</option><option value='去年'>去年</option></select>";
    145     str=str+"<h2 align='center' id='totalnumh'>一共"+resnum+"条</h2>"
    146     var div = document.createElement("div");
    147     div.id="changeresdiv";
    148     div.innerHTML = str;
    149     formdiv.appendChild(div);
    150     resnum=0;
    151 }
    152 function changedata(){
    153     var chdanum=0;
    154     var vl=document.getElementById("resselect");
    155     var index = vl.selectedIndex;
    156     var chva=vl.options[index].value;
    157     document.getElementById("restable").remove();
    158     var str="<table id='restable'>"+"<tr><td width='35%'>标题</td><td width='35%'>作者</td><td width='15%'>时间</td><td width='15%'>链接</td></tr>";
    159     if(chva=="近两年"){
    160         for(i in alldata){
    161             if(alldata[i].time.substring(0,4)!="2018"){
    162                 chdanum=chdanum+1;
    163                 str=str+"<tr><td>"+alldata[i].title+"</td><td>"+alldata[i].zuozhe+"</td><td>"+alldata[i].time+"</td><td><a target='_blank' href='"+alldata[i].lianjie+"'>"+"点此阅读文章"+"</a></td></tr>";
    164             }
    165         }
    166     }
    167     else if(chva=="去年"){
    168         for(i in alldata){
    169         if(alldata[i].time.substring(0,4)=="2020"){
    170             chdanum=chdanum+1;
    171             str=str+"<tr><td>"+alldata[i].title+"</td><td>"+alldata[i].zuozhe+"</td><td>"+alldata[i].time+"</td><td><a target='_blank' href='"+alldata[i].lianjie+"'>"+"点此阅读文章"+"</a></td></tr>";
    172         }
    173         }
    174     }
    175     else if(chva=="近三年"){        
    176         for(i in alldata){
    177             chdanum=chdanum+1;
    178             str=str+"<tr><td>"+alldata[i].title+"</td><td>"+alldata[i].zuozhe+"</td><td>"+alldata[i].time+"</td><td><a target='_blank' href='"+alldata[i].lianjie+"'>"+"点此阅读文章"+"</a></td></tr>";
    179         }
    180         
    181     }
    182     var div=document.getElementById("reslunwendiv");
    183     div.innerHTML = str+"</table>";
    184     var formdiv=document.getElementById("tjdiv");
    185     document.getElementById("changeresdiv").remove();
    186     var str="<select id='resselect' onchange='changedata()'><option value='选择年份'>选择年份</option><option value='近三年'>近三年</option><option value='近两年'>近两年</option><option value='去年'>去年</option></select>";
    187     str=str+"<h2 align='center' id='totalnumh'>一共"+chdanum+"条</h2>"
    188     var div1 = document.createElement("div");
    189     div1.id="changeresdiv";
    190     div1.innerHTML = str;
    191     formdiv.appendChild(div1);
    192 }
    193 function getTime(){
    194     var myDate = new Date();
    195     var myYear = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
    196     var myMonth = myDate.getMonth()+1; //获取当前月份(0-11,0代表1月)
    197     var myToday = myDate.getDate(); //获取当前日(1-31)
    198     var myDay = myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
    199     var myHour = myDate.getHours(); //获取当前小时数(0-23)
    200     var myMinute = myDate.getMinutes(); //获取当前分钟数(0-59)
    201     var mySecond = myDate.getSeconds(); //获取当前秒数(0-59)
    202     var week = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];
    203     var nowTime;
    204 
    205     nowTime = myYear+'-'+fillZero(myMonth)+'-'+fillZero(myToday)+'&nbsp;&nbsp;'+fillZero(myHour)+':'+fillZero(myMinute)+':'+fillZero(mySecond)+'&nbsp;&nbsp;'+week[myDay]+'&nbsp;&nbsp;';
    206     //console.log(nowTime);
    207     $('#time').html(nowTime);
    208 };
    209 function fillZero(str){
    210     var realNum;
    211     if(str<10){
    212         realNum    = '0'+str;
    213     }else{
    214         realNum    = str;
    215     }
    216     return realNum;
    217 }
    218 setInterval(getTime,1000);
    219 </script>
    220 <body>
    221 <div class="layui-col-md12">
    222                     <div class="layui-card">
    223                         <div class="layui-card-body ">
    224                             <blockquote class="layui-elem-quote">欢迎:
    225                                 <span class="x-red" >admin</span>
    226                                 <span id="time"></span>
    227                             </blockquote>
    228                         </div>
    229                     </div>
    230         </div>
    231 <center>
    232 <form action="servlet?method=findlunwen" method="post" id="biaodan" >
    233 <div align="center" id="firdiv" >
    234 <table align="center">
    235 <tr>
    236 <td><select name="tiaojian" id="tiaojian">
    237 <option value="题目">题目</option>
    238 <option value="摘要">摘要</option>
    239 <option value="关键词">关键词</option>
    240 <option value="作者">作者</option>
    241 </select></td>
    242 <td><input type="text" id="firinput" name="firinput"></td>
    243 <td><select name="jingzhun" id="jingzhun"><option value="精准">精准</option><option value="模糊">模糊</option></select>
    244 <td><input type="button" id="firbut" value="+" onclick="add_div()"></td>
    245 </tr>
    246 </table>
    247 </div>
    248 <input type="hidden" name="sum" id="sum" value="1">
    249 <input type="hidden" name="realsum" id="realsum" value="1">
    250 </form>
    251 <form method="post" id="tjdiv">
    252 <div align="center">
    253 <input type="button" value="检索" onclick="sendAjax()" class="findbtn">
    254 <input type="reset" value="重置"  class="findbtn"></div>
    255 
    256 </form>
    257 <div align="center" id="reslunwendiv" class="subbox">
    258 <table  id="restable" >
    259 
    260 </table>
    261 </center>
    262 </div>
    263 </body>
    264 </html>

    在src文件夹下分别由Bean层、dao层、servlet层、DButil层对数据进行操作。

    servlet.java文件:

      1 package classes;
      2 
      3 import java.io.IOException;
      4 import java.io.PrintWriter;
      5 import java.sql.SQLException;
      6 import java.util.ArrayList;
      7 import java.util.List;
      8 import java.util.Map;
      9 
     10 import javax.servlet.ServletException;
     11 import javax.servlet.annotation.WebServlet;
     12 import javax.servlet.http.HttpServlet;
     13 import javax.servlet.http.HttpServletRequest;
     14 import javax.servlet.http.HttpServletResponse;
     15 
     16 import net.sf.json.JSONArray;
     17 import net.sf.json.JSONObject;
     18 
     19 /**
     20  * Servlet implementation class servlet
     21  */
     22 @WebServlet("/servlet")
     23 public class servlet extends HttpServlet {
     24     private static final long serialVersionUID = 1L;
     25     Dao dao=new Dao();
     26        
     27     /**
     28      * @see HttpServlet#HttpServlet()
     29      */
     30     public servlet() {
     31         super();
     32         // TODO Auto-generated constructor stub
     33     }
     34     public void findlunwen(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {
     35         request.setCharacterEncoding("utf-8");
     36         int tonum=Integer.parseInt(request.getParameter("sum"));
     37         int realnum=Integer.parseInt(request.getParameter("realsum"));
     38         List<demBean> findlist=new ArrayList<>();
     39         demBean dbean=null;
     40         dbean=new demBean("AND",request.getParameter("tiaojian"),request.getParameter("firinput"),request.getParameter("jingzhun"));
     41         findlist.add(dbean);
     42         for(int i=1;i<tonum;i++) {
     43             if(request.getParameter("input"+i)!=""&&request.getParameter("input"+i)!=null) {
     44                 dbean=new demBean(request.getParameter("lianjie"+i),request.getParameter("tiaojian"+i),request.getParameter("input"+i),request.getParameter("jingdu"+i));
     45                 findlist.add(dbean);
     46             }
     47         }
     48         
     49         System.out.println(realnum+" Ϊ"+findlist.size());
     50         for(int i=0;i<findlist.size();i++) {
     51             System.out.println(findlist.get(i).toString());
     52         }
     53         PrintWriter out = response.getWriter();
     54         //String name = request.getParameter("name").trim();
     55         List<lunwenBean> list = dao.getselectlunwen(findlist);
     56         JSONArray json=new JSONArray();
     57         for(int i=0;i<list.size();i++) {
     58             JSONObject ob=new JSONObject();
     59             ob.put("title", list.get(i).getTitle());
     60             ob.put("zuozhe", list.get(i).getZuozhe());
     61             ob.put("zhaiyao", list.get(i).getZhaiyao());
     62             ob.put("time", list.get(i).getTime());
     63             ob.put("lianjie", list.get(i).getLianjie());
     64             json.add(ob);
     65         }
     66         //System.out.println("JSON"+json.toString());
     67         System.out.println("zongshu"+list.size());
     68         out.write(json.toString());
     69         
     70     }
     71     public void reci(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {
     72         request.setCharacterEncoding("utf-8");
     73         int neednum=Integer.parseInt(request.getParameter("neednum"));
     74         Map<String, Integer>sortMap=Dao.getrc();
     75         JSONArray json =new JSONArray();
     76         int k=0;
     77         for (Map.Entry<String, Integer> entry : sortMap.entrySet()) 
     78         {
     79             JSONObject ob=new JSONObject();
     80             ob.put("name", entry.getKey());
     81             ob.put("value", entry.getValue());
     82             if(!(entry.getKey().equals("for")||entry.getKey().equals("and")||entry.getKey().equals("With")||entry.getKey().equals("of")||entry.getKey().equals("in")||entry.getKey().equals("From")||entry.getKey().equals("A")||entry.getKey().equals("to")||entry.getKey().equals("a")||entry.getKey().equals("the")||entry.getKey().equals("by")))
     83             {
     84                 json.add(ob);
     85                 k++;
     86             }
     87             if(k==neednum)
     88                 break;
     89         }
     90         System.out.println(json.toString());
     91         
     92         response.getWriter().write(json.toString());
     93     }
     94     public void aja(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {
     95          PrintWriter out = response.getWriter();
     96          String name = request.getParameter("name").trim();
     97          String type="-1";
     98          try {
     99              response.setCharacterEncoding("UTF-8");
    100              response.setContentType("application/json; charset=utf-8");
    101 //             out.println("Success---llll");
    102              out.append(type);
    103              out.close();
    104          } catch (Exception e){
    105              e.printStackTrace();
    106          }
    107          
    108      
    109     }
    110     /**
    111      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    112      */
    113     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    114         // TODO Auto-generated method stub
    115         request.setCharacterEncoding("utf-8");
    116         String method=request.getParameter("method");
    117         if(method.equals("findlunwen")) {
    118              try {
    119                  findlunwen(request,response);
    120          } catch (ServletException e) {
    121                  e.printStackTrace();
    122          } catch (IOException e) {
    123                  e.printStackTrace();
    124          } catch (SQLException e) {
    125              e.printStackTrace();
    126      }
    127              
    128         }
    129         else if(method.equals("aja")) {
    130             try {
    131                 aja(request,response);
    132         } catch (ServletException e) {
    133                 e.printStackTrace();
    134         } catch (IOException e) {
    135                 e.printStackTrace();
    136         } catch (SQLException e) {
    137                 e.printStackTrace();
    138         }
    139         }
    140         else if(method.equals("reci")) {
    141             try {
    142                 reci(request,response);
    143         } catch (ServletException e) {
    144                 e.printStackTrace();
    145         } catch (IOException e) {
    146                 e.printStackTrace();
    147         } catch (SQLException e) {
    148                 e.printStackTrace();
    149         }
    150         }
    151         
    152     }
    153 
    154     /**
    155      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    156      */
    157     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    158         // TODO Auto-generated method stub
    159         doGet(request, response);
    160     }
    161 
    162 }

    dao.java重要代码:

     1 public List<lunwenBean> getsize() throws SQLException{
     2         List<lunwenBean> list=new ArrayList<>();
     3         lunwenBean bean=null;
     4         String sql="select * from xiangxi limit 2";
     5         Connection conn =Dbutil.getConnection();
     6         Statement st=null;
     7         ResultSet rs=null;
     8         try {
     9             st=conn.createStatement();
    10             st.executeQuery(sql);
    11             rs=st.executeQuery(sql);
    12             while(rs.next()) {
    13                 String title=rs.getString("title");
    14                 String zhaiyao=rs.getString("abstract");
    15                 String zuozhe=rs.getString("zuozhe");
    16                 String lianjie=rs.getString("link");
    17                 String time=rs.getString("time");
    18                 bean=new lunwenBean(title,zhaiyao,zuozhe,lianjie,time);
    19                 list.add(bean);
    20                
    21         }
    22         } catch (SQLException e) {
    23             e.printStackTrace();
    24         }
    25         finally{
    26             Dbutil.close(st, conn);
    27         }
    28         return list;
    29     }
    30     public List<lunwenBean> getselectlunwen(List<demBean> dl) throws SQLException{
    31         List<lunwenBean> list=new ArrayList<>();
    32         lunwenBean bean=null;
    33         String sql="select * from xiangxi where ";
    34         for(int i=0;i<dl.size();i++) {
    35             if(dl.get(i).getXuanze().equals("题目")) {
    36                 dl.get(i).setXuanze("title");
    37             }
    38             else if(dl.get(i).getXuanze().equals("摘要")) {
    39                 dl.get(i).setXuanze("abstract");
    40             }
    41             else if(dl.get(i).getXuanze().equals("关键字")) {
    42                 dl.get(i).setXuanze("title");
    43             }
    44             else if(dl.get(i).getXuanze().equals("作者")) {
    45                 dl.get(i).setXuanze("zuozhe");
    46             }
    47         }
    48         for(int i=0;i<dl.size();i++) {
    49             if(i==0) {
    50                 sql=sql+" "+dl.get(i).getXuanze()+" ";
    51             }
    52             if(dl.get(i).getAndorno().endsWith("NOT")) {
    53                 if(dl.get(i).getJingmo().equals("精准")) {
    54                     sql=sql+"and "+dl.get(i).getXuanze()+" "+"!='"+dl.get(i).getNeirong()+"' ";
    55                 }
    56                 else if(dl.get(i).getJingmo().equals("模糊")) {
    57                     sql=sql+"and "+dl.get(i).getXuanze()+" "+"not like '%"+dl.get(i).getNeirong()+"%' ";
    58                 }
    59             }
    60             if(i!=0&&!dl.get(i).getAndorno().equals("NOT")) {
    61                 
    62                 sql=sql+dl.get(i).getAndorno()+" "+dl.get(i).getXuanze()+" ";
    63             }
    64             if(!dl.get(i).getAndorno().equals("NOT")&&dl.get(i).getJingmo().equals("精准")) {
    65                 sql=sql+"='"+dl.get(i).getNeirong()+"' ";
    66             }
    67             else if(!dl.get(i).getAndorno().equals("NOT")&&dl.get(i).getJingmo().equals("模糊")) {
    68                 sql=sql+"like '%"+dl.get(i).getNeirong()+"%' ";
    69             }
    70         }
    71         sql=sql+" order by time desc ";
    72         System.out.println("SQL="+sql);
    73         Connection conn =Dbutil.getConnection();
    74         Statement st=null;
    75         ResultSet rs=null;
    76         try {
    77             st=conn.createStatement();
    78             st.executeQuery(sql);
    79             rs=st.executeQuery(sql);
    80             while(rs.next()) {
    81                 String title=rs.getString("title");
    82                 String zhaiyao=rs.getString("abstract");
    83                 String zuozhe=rs.getString("zuozhe");
    84                 String lianjie=rs.getString("link");
    85                 String time=rs.getString("time");
    86                 bean=new lunwenBean(title,zhaiyao,zuozhe,lianjie,time);
    87                 list.add(bean);
    88                
    89         }
    90         } catch (SQLException e) {
    91             e.printStackTrace();
    92         }
    93         finally{
    94             Dbutil.close(st, conn);
    95         }
    96         return list;
    97         
    98     }

  • 相关阅读:
    Java系列教程-Spring 教程目录
    python中如何给散点图上面的特定点做标记
    OpenCV:Python下OpenCV安装和入门最强详细攻略
    如何实现一个 windows 桌面动态壁纸
    学习C/C++的简单方法
    手眼标定
    python合并多个txt文件
    python qq发消息
    python获取当前天气情况
    程序代写、毕业设计
  • 原文地址:https://www.cnblogs.com/znjy/p/14910378.html
Copyright © 2020-2023  润新知