• HOME
  • CATEGORY
  • ABOUT ME
All Articles

  • HOME
  • CATEGORY
  • ABOUT ME

JavaSourceCode-SearchMethod-1

2022-01-05

对于上时代 EJB + JSP + HTML + JS 的相关项目代码查找方式

一:查找菜单与URL地址

1、进入浏览器页面,进入对应的页面,查看 URL

2、若是嵌入式页面,则查找到对应嵌入式调用的页面地址

方式一:查看 Elements 元素

方式二:查看 Network 调用接口

3、如果项目的菜单与路由是存在数据库中,可以在数据库中查找

SELECT PKEY,NAME_EN_US,NAME_ZH_CN,ACTION FROM menu WHERE NAME_ZH_CN LIKE '添加记录';

4、路径结尾为 jsf 的文件

jsf相关学习文档:https://www.w3cschool.cn/java/jsf-basic-tags.html

以下图为例:可以查找名称为 editsearch 的 JSP 文件

二、进入 Eclipse 项目 进行全局查找:以上图为例,(找Serlet…DAO..)

对于此种项目,一般是先找到对应的 Servlet 层。

向前端找:Servlet -> JSP -> JS
向后端找:Servlet -> Bean -> Dao


进入后,你可以清楚看到其定义的路由地址(一般情况按上述方式就能正确查找到对应的 Servlet文件)

@WebServlet("/customer")
public class CustomerServlet extends HttpServlet {
	...
}

附:JSP文件中写 JAVA 代码案例,JAVA 代码写在 <% %> 中

<select name="final_day_check_account" style="width:140px">
    <option value="">------</option>
    <%for(int m=0;m<checkDateList.size();m++){ 
    com.meadvillegroup.weberp.model.MtgComboParam comboParam = 
    	(com.meadvillegroup.weberp.model.MtgComboParam)checkDateList.get(m);
    %>
    <option value="<%=comboParam.getComboValue()%>" 
    <%= (comboParam.getComboValue().equals(customer.getCheckAccountDate())) ? "selected":""%>
    ><%=comboParam.getTypeName()%></option>
<%} %>
</select>

1、Servlet 向前端 JSP 方向寻找方式

在上述的 Servlet 中,去找到对应的 action 中的 JSP 文件

再次全局搜索找到该文件

2、Servlet 向后端 Bean、Dao 方向寻找方式

在 Servlet 层可以明显的看到调用的 Bean 层

进入 Bean 层后可以看到定义的 DAO 层

进入 DAO 层,可以直接看到SQL部分

三、不同的 SQL操作方式(本项目使用 Hibernate 框架)

在 Hibernate 中有可以编写 HQL

HQL 可以使用 model 类的对象,编写 SQL,在执行的时候使用如下函数

Query query = session.createQuery(SQL);

在 Hibernate 中也可以使用原生的 SQL

Query query = session.createSQLQuery(sql.toString()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

附:hql与sql的区别

1、sql 面向数据库表查询。
2、hql 面向对象查询。
3、hql : from 后面跟的 类名+类对象,where 后 用 对象的属性做条件。
4、sql: from 后面跟的是表名,where 后 用表中字段做条件查询。
5、在Hibernate中使用查询时,一般使用Hql查询语句。
6、HQL(Hibernate Query Language),即Hibernate的查询语言跟SQL非常相像。不过HQL与SQL的最根本的区别,就是它是面向对象的。

当然也有比较原始的不适用框架方式, JDBC 的形式实现方式

try {
    DataSource ds = ServiceLocator.getDataSource(DATA_SOURCE);
    conn = ds.getConnection();
    statement = conn.createStatement();      
    StringBuffer sql = new StringBuffer();
    ......
    statement.executeQuery(sql.toString());
}catch (Exception e) {
    e.printStackTrace();
    throw new Exception(e.getMessage());
}

数据库添加新的字段

若你原本的程序是 使用 Hibernate 的方式将数据插入数据库,你需要更改如下文件

1、model 层实体文件

2、model 层与数据库映射的 hbm.xml 文件

<property name="flexLotNoRemark" type="string">
	<column name="FLEX_LOT_NO_REMARK" length="20" />
</property>

3、修改对应的 DAO 层与 Servlet 层

4、修改前端对应的显示框

四、当按照 路径名 查找不到对应的 Servlet 文件

一般这种情况,是 Servlet 定义的类名与设置的 路由名规则有很大的不同。

进入 Search->Search

根据需求配置搜索条件,一般以路由地址名(URL)进行检索

五、JSF 如何找到对应按钮调用的后端接口

由于 JSF 是 JSP 文件,有些调用不能按照正常的逻辑去寻找到对应的 Servlet ,需要找到对应的事件定义的地方,然后才能找到对应的 Servlet

找到 editForm 表单下的 postForm 方法

当 onclick 中 带 return 说明是一个判断,当为 true 调用同级或者下一级的 action

赏

谢谢你请我吃糖果

支付宝
微信
  • JAVA

扫一扫,分享到微信

微信分享二维码
Window-Kill-Process-1
Lightroom-Base-3
© 2025 Sevattal
这里只是一个微不足道的计算机从业者
  • All Articles

tag:

  • Ansible
  • JMeter
  • CRM
  • Mail
  • Conda
  • Corosync-Pacemaker-CRM
  • DM Database
  • Scrapy
  • Cloud
  • ASM
  • Mysql
  • Linux
  • Elasticsearch
  • FFmpeg
  • Hexo
  • RabbitMQ
  • SpringBoot
  • Spring
  • Maven
  • Kubernetes
  • Lightroom
  • Crontab
  • DRBD
  • LVM
  • Nginx
  • NTP
  • OpenSSH
  • SSH
  • NetworkCard
  • Supervisor
  • Swap
  • TinyProxy
  • GCC
  • VNC
  • Oracle
  • MongDB
  • MinIO
  • Mysql-Lock
  • Restore
  • MysqlDump
  • Procedure
  • HTML
  • XtraBackup
  • Nacos
  • Neo4j
  • Netty
  • NAT
  • Route
  • ACL
  • EIGRP
  • Cisco
  • OSPF
  • HUAWEI
  • Switch
  • STP
  • VLAN
  • VTP
  • Nmap
  • OpenFeign
  • Sentinel
  • Backup
  • EXP
  • RMAN
  • DG
  • FlashBack
  • Job
  • Oracle-Inspection
  • Oracle-Name
  • Oracle RAC
  • RAC
  • Trigger
  • Postgres
  • Postgres-Copy
  • Flask-SQLalchemy
  • PGPool-II
  • Postgres+PGPool-II
  • Rancher
  • Redis
  • Redis-Copy
  • Redis-Cluster
  • Redis-Memory
  • Redis-RDB
  • Redis-AOF
  • Redis-Sentinel
  • Interview
  • SNMP
  • Spring Security
  • Bus
  • Config
  • Consul
  • GateWay
  • Eureka
  • Sleuth
  • Stream
  • Zookeeper
  • Tomcat
  • VMware
  • ShareDisk
  • Video-Clip
  • Hystrix
  • Ribbon
  • Regedit
  • USB
  • Yaml
  • Zabbix

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true