美文网首页
jsp实现java后台接口功能

jsp实现java后台接口功能

作者: 白虎先生 | 来源:发表于2017-11-19 23:42 被阅读0次

由于工作需要,无法接触到项目的后台代码,所以需要在jsp页面实现访问数据库的功能,然后实现页面的展示。

思路

实现两个jsp页面,第一个页面实现java的接口功能,即访问数据库并以json格式返回给前端,另一个页面其实就是纯前端的页面,用于展示信息。其实jsp本质上也就是servlet,可以直接在jsp里面写java代码,完全可以当做是java来使用。

jsp后台

  1. 在jsp里使用"<%! %>"标签可以用于声明类,这里我用来声明一个类HomeMessage,该类的成员变量其实就对应了数据库的表的列。
<%!
public class HomeMessage {
    
    private String name;// 姓名
    private String email; //邮箱
    private String mobile;//手机号码
    private String home;
}
%>
这里省略了变量对应的get方法和set方法
  1. 在jsp中使用"<% %>"便签可以写java代码,我在这里面实现了利用jdbc访问数据库,并返回数据库的信息,然后利用mysql的limit功能来实现简单的分页,最后构造json,返回给前端。
<%
        //注册mysql驱动
        Class.forName("com.mysql.jdbc.Driver");
        //mysql的URL
        String url="jdbc:mysql://localhost:3306/city";
        String user="root";
        String password="root";
        Connection conn = DriverManager.getConnection(url,user,password);
        Statement stmt = conn.createStatement();
        String pageSize = request.getParameter("pageSize");
        String pageIndex = request.getParameter("pageIndex");
        String sql = "SELECT * FROM home_message limit " + (Integer.parseInt( pageIndex ) - 1) * 3 + ",3";  
        String allNumSql = "SELECT count(*) FROM home_message";
        ResultSet rs = stmt.executeQuery(sql);
        //查询条数
        List<HomeMessage> list = new ArrayList<HomeMessage>();
        while(rs.next()){
            HomeMessage change = new HomeMessage();
            change.setName( rs.getString("name") );
            change.setHome( rs.getString("home") );
            change.setEmail( rs.getString("email") );
            change.setMobile( rs.getString("mobile"));
            list.add(change);
        }
        //总记录数
        Statement allNumStmt = conn.createStatement();
        ResultSet allNumSet = allNumStmt.executeQuery( allNumSql );
        int allNumCount = 0;
        while(allNumSet.next()){
            allNumCount = allNumSet.getInt(1);
        }
        //构造json
        Map<String,Object> map = new HashMap<String, Object>();
        map.put( "list", list );
        map.put( "pageCount", allNumCount / Integer.parseInt( pageSize ) );
        String jsonStr = JSONObject.toJSONString( map );
        response.setContentType( "text/json" );
        PrintWriter writer = response.getWriter();
        writer.write( jsonStr );
        writer.flush();
        writer.close();
        //关闭
        conn.close();
        stmt.close();
        allNumStmt.close();
        rs.close();
        allNumSet.close();
    %>

jsp前端

jsp前端其实就是普通的前端代码,获取到信息后展示在页面上即可。详情请查看(https://github.com/wumingzhizhu/nutz-test/tree/master/src/main/webapp/view)地址,其中show.jsp就是前端页面,showAjax.jsp就是后台页面。对于分页的插件以及前端的技术,请参考另外一篇文章"angularjs+bootstrap自定义分页(http://www.jianshu.com/p/c39430338e5f)"。

效果图

image.png

注意事项

  1. 在jsp写java后台代码的时候,需要使用例如(<%@ page import="javax.sql.DataSource" %>)这种方式来引进java对应的包,这里除了用到了jdk的包之外,还用到了fastjson,这个主要用于构造json格式的数据的,如果是maven工程,可以直接在pom.xml文件引入fastjson。
<dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.28</version>
        </dependency>
</dependencies>
image.png
  1. 这里主要是利用jdbc来访问mysql数据库,因此需要有mysql的驱动,如果该web项目是tomcat启动的,可以直接在tomcat的lib目录放一个mysql的驱动包即可,或者直接放在web项目的lib目录里面。

相关文章

  • jsp实现java后台接口功能

    由于工作需要,无法接触到项目的后台代码,所以需要在jsp页面实现访问数据库的功能,然后实现页面的展示。 思路 实现...

  • 0527-jsp-概/运行

    JSP概 jsp=html+java(在html页面中加入一些java代码,实现动态页面实现的功能: 用户输入获取...

  • 自定义JSP标签总结

    自定义标签可以实现的功能: 移除jsp中的java代码 控制jsp中的某段程序是否执行 控制jsp页面中的所有内容...

  • vue+ElementUI实现上传图片

    1.获取后台接口上传图片 2.功能实现代码

  • Java WEB 简单 de 登录注册

    标签:Java Web、JSP、Servlet、Tomcat 登录注册功能实现 一、前言 近期写了一个简单地登...

  • 2018-09-13

    Java接口、接口和抽象类: 接口 接口是功能的集合,只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实...

  • JavaWeb解析Excel

    从前台Jsp页面传到后台Servlet处理   公司正好需要实现一个功能,前台选中Excel文件解析处理,使用po...

  • 前端导出功能实现

    前端导出,不需要调用后台接口后台导出,前端直接实现导出功能 导出table数据 js 引入 importFile...

  • 《Spring MVC学习指南》读书笔记--附录C JavaSe

    C.1 JSP概述 当一个JSP页面第一次被请求时,容器会生成一个java类。该类实现JspPage或其子接口Ht...

  • eCharts4 简单例子

    jsp代码 js 代码 ajax 请求后的数据装载 后台 java 代码

网友评论

      本文标题:jsp实现java后台接口功能

      本文链接:https://www.haomeiwen.com/subject/wpcmvxtx.html