java web 来源页_Java:Java Web--分页效果

先来看一看分页的实现原理

b3717ff907e2

万能公式.jpg

b3717ff907e2

项目目录.PNG

首先,新建Java Web项目

一. 梳理业务逻辑

重定向到URL(跳转到StudentViewAction页面)//index.jsp页面

1.从页面接收可变的值

2.接收值有问题时,初始化为1

3.如果没有问题,把String类型接收值强转成Integer

4.实例DAO方法,调用findStudentListByPageCount()方法(该方法得到总条数)

5.计算总页数:总页数 = 总条数 % 页容量

6.判断接收到页面传来的值是否小于1页

7.调用DAO中findStudentListByPageCount()(该方法获取数据集合)

8.封装打包页面

9.转发页面

request.getRequestDispatcher("list.jsp").forward(request, response);

//request.getRequestDispatcher("list.jsp") 找到要转发的页面

//forward(request, response); 实现转发

二. 实现界面展示

1.封装工具类JDBCUtil.java文件, 作用是连接数据库

package com.fyl.util;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Scanner;

/**

* 文档注释(Java连接数据库的工具类)

*

*/

public class JDBCUtil {

// 注意:四个属性:驱动, 地址(URL), 用户名, 密码

// 驱动类:通过一个类名告诉java我现在使用的是什么数据库

private static final String CONN_DRIVER = "com.mysql.jdbc.Driver";

// URL:告诉Java我的数据库的具体位置(网络标识:通过什么端口哪台电脑获取什么资源)

private static final String CONN_URL = "jdbc:mysql://127.0.0.1:3306/student_db?characterEncoding=UTF-8";

// 用户名

private static final String CONN_USER_NAME = "root";

// 密码

private static final String CONN_USER_PASS = "123456";

public static Connection getConn() {

// 创建方法的返回变量

Connection conn = null;

try {

// 1.加载驱动类 让Java知道我们创建什么数据库的实例

Class.forName(CONN_DRIVER);

// 通过已经加载好的驱动类给我们提供连接

conn = DriverManager.getConnection(CONN_URL, CONN_USER_NAME,

CONN_USER_PASS);

} catch (ClassNotFoundException e) {

System.out.println("add DriverManager error!");

e.printStackTrace();

} catch (SQLException e) {

System.out.println("SQL error!");

e.printStackTrace();

}

return conn;

}

public static void closeAll(ResultSet set, PreparedStatement ps,

Connection conn) {

try {

if (null != set) {

set.close();

}

if (null != ps) {

ps.close();

}

if (null != conn) {

conn.close();

}

} catch (SQLException e) {

System.out.println("closeAll ERROR!");

e.printStackTrace();

}

}

public static void main(String[] args) {

// 获取数据库连接

Connection conn = JDBCUtil.getConn();

Scanner scan = new Scanner(System.in);

while (true) {

System.out.println("请素输入要查看的数据:");

int i = scan.nextInt();

int start = (i - 1) * 10;

int size = 10;

// 2.编写SQL语句(查询id > 0的数据, 连续查询10条记录)

String sql = "SELECT * FROM student WHERE s_id LIMIT ?,?";

// SELECT * FROM student WHERE s_id > 10 AND s_id <= (10 + 10)

// 3.运行SQL语句

try {

PreparedStatement ps = conn.prepareStatement(sql);

ps.setInt(1, start);

ps.setInt(2, size);

// 4.执行后返回结果(execute执行Query结果)

ResultSet set = ps.executeQuery();

System.out.println("学生编号\t学生姓名\t学生年龄\t入学时间\t学费");

for (; set.next();) {

System.out.print(set.getInt("S_ID") + "\t");

System.out.print(set.getString("S_NAME") + "\t");

System.out.print(set.getInt("S_AGE") + "\t");

System.out.print(set.getDate("S_INTODATE") + "\t");

System.out.print(set.getDouble("S_MONEY") + "\t");

System.out.println();

}

} catch (SQLException e) {

System.out.println("select error");

e.printStackTrace();

}

}

}

}

2.创建数据库实体类Student.java文件(Model层)

package com.fyl.entity;

import java.io.Serializable;

import java.util.Date;

/**

* 实体类

* @author Administrator

*

*/

public class Student implements Serializable {

private static final long serialVersionUID = 1L;//添加唯一标识

private Integer id;

private String name;

private int age;

private Date date;

private Double money;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public Date getDate() {

return date;

}

public void setDate(Date date) {

this.date = date;

}

public Double getMoney() {

return money;

}

public void setMoney(Double money) {

this.money = money;

}

}

3.index.jsp界面(呈现给用户的第一个界面)

系统首页

// 重定向到URL

request.getRequestDispatcher("StudentViewAction").forward(request, response);

%>

4.新建servlet文件StudentViewAction.java(Controller层)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentViewAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//封装数据给页面

//整理页面需要的数据

int pageIndex = 0;//页面 //页面每次请求传过来的

int pageSize = 10;//

int totalCount = 0;

int totalPge = 0;

List list = null;

//从页面接收可变的值

String pi = request.getParameter("pageIndex");

//pi有问题的时候,初始化为1

if (null == pi || "".equals(pi)) {

pi = "1";

}

//如果pi没有问题的时候

pageIndex = Integer.parseInt(pi);

//从数据接收值

StudentDAO dao = new StudentDAOImpl();

//调用DAO方法

totalCount = dao.findStudentListByPageCount();

//计算总页数

totalPge = totalCount % pageSize == 0?totalCount/pageSize:totalCount/pageSize + 1;

//判断pageIndex的边界值

if (pageIndex < 1) {

pageIndex = 1;

}

if (pageIndex > totalPge) {

pageIndex = totalPge;

}

//获取数据集合

list = dao.findStudentListByPage(pageIndex, pageSize);

//封装打包页面

request.setAttribute("pageIndex", pageIndex);

request.setAttribute("pageSize", pageSize);

request.setAttribute("totalCount", totalCount);

request.setAttribute("totalPge", totalPge);

request.setAttribute("list", list);

//转发页面

request.getRequestDispatcher("list.jsp").forward(request, response);

}

}

新建list.jsp界面接收StudentViewAction传来的值

数据展示

function goUpdate(id){

window.location.href = "StudentFindByIDViewAction?id=" + id;

}

function goDelete(id){

var con = window.confirm("您确定删除ID为" + id + "这条数据吗?" );

if(con){

//删除

window.location.href = "StudentDeleteAction?id=" + id;

}

}

function goPage(pageIndex){

window.location.href = "StudentViewAction?pageIndex="+pageIndex;

}

function goPage(pageIndex){

window.location.href = "StudentViewAction?pageIndex="+pageIndex;

}

function goAdd(){

window.location.href = "add.jsp";

}

一共查询出${totalCount}条数据,每页展示${pageSize}条,一共有${totalPage}页,当前浏览的是第${pageIndex}页

学生ID学生姓名学生年龄入学时间学费操作
${s.id}${s.name}${s.age}

||

三. 实现增删查改

创建接口, 新建StudentDAO.java接口文件, 添加增删查改方法

package com.fyl.dao;

import java.util.List;

import com.fyl.entity.Student;

public interface StudentDAO {

/**

* 更据id删除

* @param id

* @return

* @throws RuntimeException

*/

public boolean deleteStudent(Integer id) throws RuntimeException;

/**

* 根据ID查询单个学生对象

* @param id

* @return

* @throws RuntimeException

*/

public Student findStudentByID(Integer id) throws RuntimeException;

/*

* 添加学生方法

* @param student 要添加的学生

* @return 添加成功返回true 添加失败返回false

* @throws RuntimeException

*/

public boolean insertStudent(Student student)throws RuntimeException;

/**

* 查询数据库的总条数

* @return 总条数

* @throws RuntimeException

*/

public int findStudentListByPageCount() throws RuntimeException;

/**

* 获取分页数集合

* @param pageIndex 页码

* @param pageSize 页容量

* @return 已经分页的list集合

* @throws RuntimeException

*/

public List findStudentListByPage(Integer pageIndex, Integer pageSize) throws RuntimeException;

/*

* 更新学生信息

* @param student

* @return

* @throws RuntimeException

*/

public boolean updateStudent(Student student) throws RuntimeException;

}

2.新建StudentDAOImpl.java文件,实现接口

package com.fyl.dao.impl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.fyl.dao.StudentDAO;

import com.fyl.entity.Student;

import com.fyl.util.JDBCUtil;

public class StudentDAOImpl implements StudentDAO {

// TODO

public int findStudentListByPageCount() throws RuntimeException {

// 1.创建方法的返回变量

int totalCount = 0;

// 3.获取数据库连接

Connection conn = JDBCUtil.getConn();

// 4.编写SQL语句

String sql = "SELECT COUNT(S_ID) FROM STUDENT";

// 执行SQL语句

PreparedStatement ps = null;

ResultSet set = null;

try {

ps = conn.prepareStatement(sql);

set = ps.executeQuery();

//处理

if (set.next()) {

totalCount = set.getInt(1);

}

} catch (SQLException e) {

// TODO

e.printStackTrace();

} finally {

JDBCUtil.closeAll(set, ps, conn);

}

return totalCount;

}

// TODO

public List findStudentListByPage(Integer pageIndex,

Integer pageSize) throws RuntimeException {

List list = new ArrayList();

//2.1获取数据库连接

Connection conn = JDBCUtil.getConn();

//3. 创建SQL语句

String sql = "SELECT * FROM STUDENT WHERE S_ID LIMIT ?,?";

//4.执行SQL语句

PreparedStatement ps = null;

ResultSet set = null;

try {

ps = conn.prepareStatement(sql);

ps.setInt(1, (pageIndex-1) * pageSize);

ps.setInt(2, pageSize);

set = ps.executeQuery();

Student s = null;

while (set.next()) {

s = new Student();

//封装数据

s.setId(set.getInt("S_ID"));

s.setName(set.getString("S_NAME"));

s.setAge(set.getInt("S_AGE"));

s.setMoney(set.getDouble("S_MONEY"));

s.setDate(set.getDate("S_INTODATE"));

// 将封装好的Student对像装入集合

list.add(s);

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

JDBCUtil.closeAll(set, ps, conn);

}

return list;

}

public boolean insertStudent(Student student) throws RuntimeException {

// TODO Auto-generated method stub

//1.定义方法返回变量

boolean con = false;

//3. 获取数据库连接

Connection conn = JDBCUtil.getConn();

//4. 编写SQL语句

String sql = "INSERT INTO STUDENT (S_NAME,S_AGE,S_INTODATE,S_MONEY) VALUES (?,?,?,?)";

// 5. 执行SQL语句

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

// 6. 是否有占位符赋值?

ps.setString(1, student.getName());

ps.setInt(2, student.getAge());

ps.setDate(3, new java.sql.Date(student.getDate().getTime()));

ps.setDouble(4, student.getMoney());

int count = ps.executeUpdate(); // 执行增 删 改 SQL 返回int类型的受影响行数

// 7. 改变方法的返回值

con = count>0?true:false;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// 2. 返回con

return con;

}

// TODO 根据id查询

public Student findStudentByID(Integer id) throws RuntimeException {

//创建方法的返回值

Student student = null;

Connection conn = JDBCUtil.getConn();

//编写SQL语句

String sql = "SELECT * FROM STUDENT WHERE S_ID = ?";

//执行SQL语句

PreparedStatement ps = null;

ResultSet set = null;

try {

ps = conn.prepareStatement(sql);

//是否有占位符

ps.setInt(1, id);

set = ps.executeQuery();

if(set.next()){

//创建实例对象封装查询数据

student = new Student();

student.setId(set.getInt("S_ID"));

student.setAge(set.getInt("S_AGE"));

student.setDate(set.getDate("S_INTODATE"));

student.setMoney(set.getDouble("S_MONEY"));

student.setName(set.getString("S_NAME"));

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

JDBCUtil.closeAll(set, ps, conn);

}

return student;

}

// TODO 更新学生信息

public boolean updateStudent(Student student) throws RuntimeException {

//创建方法的返回值

boolean con = false;

//获取数据库连接

Connection conn = JDBCUtil.getConn();

//编写SQL语句

String sql = "UPDATE STUDENT SET S_NAME=?,S_AGE=?,S_INTODATE=?,S_MONEY=? WHERE S_ID=?";

//执行SQL语句

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

//是否有占位符

ps.setString(1, student.getName());

ps.setInt(2, student.getAge());

ps.setDate(3, new java.sql.Date(student.getDate().getTime()));

ps.setDouble(4, student.getMoney());

ps.setInt(5, student.getId());

int count = ps.executeUpdate();

con = count>0?true:false;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return con;

}

// TODO delete

public boolean deleteStudent(Integer id) throws RuntimeException {

//创建方法的返回变量

boolean con = false;

//获取数据库链接

Connection conn = JDBCUtil.getConn();

//编写SQL语句

String sql = "DELETE FROM STUDENT WHERE S_ID = ?";

//执行SQL语句

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setInt(1, id);

int count = ps.executeUpdate();

con = count > 0?true:false;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

JDBCUtil.closeAll(null, ps, conn);

}

return con;

}

// TODO main

public static void main(String[] args) {

StudentDAO dao = new StudentDAOImpl();

System.out.println(dao.findStudentListByPageCount());

}

}

3.创建servlet文件StudentAddAction.java接收用户传入的值,添加到数据库并展示到list.jsp(增)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentAddAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置请求来源的编码

request.setCharacterEncoding("UTF-8");

//1. 接收页面数据

String studentName = request.getParameter("studentName");

String studentAge = request.getParameter("studentAge");

String intoDate = request.getParameter("intoDate");

String money = request.getParameter("money");

//2. 封装

Student student = new Student();

student.setName(studentName);

student.setAge(Integer.parseInt(studentAge));

student.setMoney(Double.parseDouble(money));

// String 转 时间

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

try {

Date d = df.parse(intoDate);

student.setDate(d);

} catch (ParseException e) {

e.printStackTrace();

}

// 3. 创建DAO层对象添加到数据库

StudentDAO dao = new StudentDAOImpl();

boolean con = dao.insertStudent(student);

if(con){

// 添加成功

response.sendRedirect("StudentViewAction");

}else{

// 添加失败

// 通过服务器的响应流主动向客户端发送信息

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=UTF-8");

String msg = "";

PrintWriter out = response.getWriter();

out.print(msg);

out.flush();

out.close();

}

}

}

4.创建servlet文件StudentDeleteAction.java接收用户传入的值,删除数据库中指定文件并展示到list.jsp(删)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

public class StudentDeleteAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//1. 确定编码

request.setCharacterEncoding("UTF-8");

//2. 获取页面数据

String id = request.getParameter("id");

//3. 创建DAO方法执行删除

StudentDAO dao = new StudentDAOImpl();

boolean con = dao.deleteStudent(Integer.parseInt(id));

if(con){

//添加成功

response.sendRedirect("StudentViewAction");

}else{

//添加失败

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=UTF-8");

String msg = "";

PrintWriter out = response.getWriter();

out.print(msg);

out.flush();

out.close();

}

}

}

创建servlet文件StudentFindByIDViewAction.java接收用户传入的值,查询数据库中指定文件并展示到list.jsp(查)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentFindByIDViewAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置编码

request.setCharacterEncoding("UTF-8");

//接收页面输入

String id = request.getParameter("id");

//创建DAO层对象

StudentDAO dao = new StudentDAOImpl();

Student student = dao.findStudentByID(new Integer(id));

request.setAttribute("stu", student);

request.getRequestDispatcher("update.jsp").forward(request, response);

}

}

6.创建servlet文件StudentUpdateAction.java接收用户传入的值,更新数据库中指定文件并展示到list.jsp(改)

package com.fyl.web;

import java.io.IOException;

import java.io.PrintWriter;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.fyl.dao.StudentDAO;

import com.fyl.dao.impl.StudentDAOImpl;

import com.fyl.entity.Student;

public class StudentUpdateAction extends HttpServlet {

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//设置请求来源的编码格式

request.setCharacterEncoding("UTF-8");

//1. 设置接收页面数据

String studentId = request.getParameter("studentId");

String studentName = request.getParameter("studentName");

String studentAge = request.getParameter("studentAge");

String intoDate = request.getParameter("Date");

String money = request.getParameter("money");

//2. 封装

Student student = new Student();

String studentId1 = studentId.trim();

student.setId(Integer.parseInt(studentId1));

student.setName(studentName);

student.setAge(Integer.parseInt(studentAge));

student.setMoney(Double.parseDouble(money));

//String转时间

DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

try {

Date d = df.parse(intoDate);

student.setDate(d);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//3. 创建DAO层对象添加到数据库

StudentDAO dao = new StudentDAOImpl();

boolean con = dao.updateStudent(student);

if(con)0.{

//添加成功

response.sendRedirect("StudentViewAction");

}else{

//添加失败

//通过服务器的响应流主动向客户端发送信息

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html; charset=UTF-8");

String msg = "";

PrintWriter out = response.getWriter();

out.print(msg);

out.flush();

out.close();

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 浏览器 安全_安全策略-IE浏览器防黑十大秘籍

1.管理好Cookie在IE6.0中&#xff0c;打开“工具”→“Internet选项”→“隐私”对话框&#xff0c;这里设定了“阻止所有Cookie”、“高”、“中高”、“中”、“低”、“接受所有Cookie”六个级别&#xff0c;你只要拖动滑块就可以方便地进行设定&#xff0c;而点击下方的“编…

什么是java中的枚举法_enum枚举javajava,enum枚举使用详解+,总结

enum 的全称为 enumeration&#xff0c; 是 JDK 1.5 中引入的新特性&#xff0c;存放在 java.lang 包中。下面是我在使用 enum 过程中的一些经验和总结。原始的接口定义常量语法(定义)创建枚举类型要使用 enum 关键字&#xff0c;隐含了所创建的类型都是 java.lang.Enum 类的子…

java 审计 漏洞函数_Java Web代码审计流程与漏洞函数

常见框架与组合常见框架Struts2SpringMVCSpring Boot框架执行流程View层&#xff1a;视图层Controller层&#xff1a;表现层Service层&#xff1a;业务层Dom层&#xff1a;持久层常见组合SpringStruts2HibernateSpringSpringMVCMybatisSpring BootMybatis代码审计方法根据业务功…

java前期_【JAVA】前期环境配置

一、java的环境配置及在eclipse中如何安装JRE或JDK环境eclipse下载地址&#xff1a;JDK下载地址&#xff1a;1)安装JDK或JRE注&#xff1a;JDK使用与开发者运用&#xff0c;其中包含了开发环境和运行环境。而JRE只包含了java的运行环境。2)配置设置执行路径UNiX&#xff1a;在C…

php截取指定字符串之后,php截取字符串(截取指定字符串之间的字符串)

一、PHP截取两个指定字符后边的字符$a "123abc#456";$b (strpos($a,""));$c (strpos($a,"#"));echo substr($a,$b1,$c-1);二、常用截取字符串技巧。//构造字符串$str "ABCDEFGHIJKLMNOPQRSTUVWXYZ";echo "原字符串&#xff1a;…

php 日志按天截取,Laravel 日志管理:按日期切割日志

日志存储Laravel 默认的错误文件记录在一个文件里&#xff0c;随着时间的推移&#xff0c;此文件将会变得巨大&#xff0c;不方便查阅。我们可以通过修改 config/app.php 配置文件中的 log 选项来配置 Laravel 使用的存储机制。如果你希望每天产生日志都存放在不同的文件中&…

php xcache 方法,php xcache 解密

NO.2 /index.php?actionmd5webcrack 很强大,需要登陆论坛才能解密,点击右上角的“register”进行注册,都是一些简单的单词,应该能看懂吧?...() A.PHP B.JSP D.Ajax 4.配置 ...假设$aarray(‘x’,’y’);,则$aarray_pad...xcache 15 四个模块 Admin Common Member Article 用户…

ecshop category.php?id=4,categoryall.php

//by 琅琊源码 QQ:27392236define(IN_ECS, true);require dirname(__FILE__) . /includes/init.php;if ((DEBUG_MODE & 2) ! 2) {$smarty->caching true;}require ROOT_PATH . /includes/lib_area.php;$area_info get_area_info($province_id);$area_id $area_info[r…

php 获取key的位置,PHP获取当前所在目录位置的方法

本文实例讲述了PHP获取当前所在目录位置的方法。分享给大家供大家参考。具体分析如下&#xff1a;如果要获取脚本文件的目录&#xff0c;要应用函数getcwd()来实现。函数声明如下&#xff1a;string getcwd ( void ) ;成功执行后返回当前目录字符串&#xff0c;失败返回FALSE。…

java8收集器,Java 8中的收集器collectionAndThen()方法

collectingAndThen()Java Collectors类中的方法使Collector适应于执行其他完成转换。它返回执行下游收集器动作的收集器&#xff0c;然后执行附加的结束步骤。语法如下。static Collector collectingAndThen(Collector downstream, Functionfinisher)在这里&#xff0c;参数T-…

php 精度运算,PHP BC 库(任意精度数字运算) | 网游世界

留意&#xff1a;备选参数$scale以设置运算精度(保留小数位)。bcscale(设置运算精度)bool bcscale ( int $scale )说明&#xff1a;设置运算精度(保留小数位)&#xff0c;成功返回TRUE否则为FALSE。bcadd(加法运算)string bcadd ( string $left_operand , string $right_operan…

php 不允许外部访问,[日常] 解决mysql不允许外部访问

1.在端口已经开放的情况下,ubuntu mysql 3306允许远程访问vim /etc/mysql/mysql.conf.d/mysqld.cnf注释#bind-address 127.0.0.12.给用户授权允许远程访问:grant all privileges on *.* to root"%" identified by "pwd" with grant option;flush privileg…

elementary安装Java,elementary os怎么样安装java

elementary os的安装方法elementary os 的安装镜像文件准备好以后&#xff0c;这里以虚拟机上安装为例&#xff0c;配置好以后启动虚拟机进入安装界面。在初始化安装界面中先选择“中文简体”&#xff0c;再点击“安装elementary os”按钮随后系统会显示硬件安装需求界面&#…

java jni框架,Java JNI 简明教程(一)——传智播客JNI笔记(王泽佑)

package cn.itcast;public calss TestNative {public native void sayHello();public static void main(String[] arg){}}2. 用javah.exe生成包含native方法的C/C头文件javah -jni(默认)javah cn.itcast.TestNative //由类名执行生成C/C头文件生成的头文件内容&#xff1a;JNIE…

java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性

如标题所述&#xff0c;这篇文章主要讲述Thymeleaf中的内置对象(list解析、日期格式化、数字格式化等)、定义变量、获取URL的参数和在页面标签中自定义属性的应用。如果对Thymeleaf的基本使用、maven依赖等不清楚的可以先阅读我的另一篇文章《Thymeleaf 之 初步使用》。Control…

linux php curl.so,linux中php如何安装CURL扩展方法

如果php已经在系统编译好&#xff0c;后来又需要添加新的扩展。一种方式就是重新完全编译php&#xff0c;另一种方式就是单独编译扩展库&#xff0c;以extension的形式扩展。下面以安装curl扩展为例&#xff1a;1、下载curl安装包。(我的php是4.4.4的&#xff0c;下载最新的cur…

matlab线性拉伸函数,采用线性变换对图像的每一个像素灰度作线性拉伸-Read.PPT

采用线性变换对图像的每一个像素灰度作线性拉伸-Read第4章 图像增强(1) 4.1 图像增强概述 图像增强(image enhancement)的定义&#xff1a; 在图像的获取过程中&#xff0c;由于多种因素的影响&#xff0c;导致图像质量退化。图像增强是对退化图像的某些特征&#xff0c;如边缘…

php js 循环对象属性,js 遍历对象的属性的代码_javascript技巧

如&#xff1a;Function.prototype.addMethodfunction(methodName,func){if(!this.prototype[methodName]){this.prototype[methodName]func;//给原型增加方法&#xff0c;此方法会影响到该类型的实例上}return this.prototype;//返回原型&#xff0c;此类型实例可以进行链形调…

php连接数据库navicat,navicat数据库如何连接php

第一步&#xff0c;打开Navicat&#xff0c;新建数据库。第二步&#xff0c;在数据库中新建表。相关推荐&#xff1a;《Navicat for mysql使用图文教程》第三步&#xff0c;保存表。第四步&#xff0c;表中添加数据。第五步&#xff0c;打开ide&#xff0c;输入以下php代码&…

每日一题:LCR 095.最长公共子序列(DP)

题目描述&#xff1a; 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些…