JavaSourceCode-SearchMethod-1

对于上时代 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

Contents
  1. 1. 对于上时代 EJB + JSP + HTML + JS 的相关项目代码查找方式
    1. 1.1. 一:查找菜单与URL地址
      1. 1.1.1. 1、进入浏览器页面,进入对应的页面,查看 URL
      2. 1.1.2. 2、若是嵌入式页面,则查找到对应嵌入式调用的页面地址
      3. 1.1.3. 3、如果项目的菜单与路由是存在数据库中,可以在数据库中查找
      4. 1.1.4. 4、路径结尾为 jsf 的文件
    2. 1.2. 二、进入 Eclipse 项目 进行全局查找:以上图为例,(找Serlet…DAO..)
      1. 1.2.1. 1、Servlet 向前端 JSP 方向寻找方式
      2. 1.2.2. 2、Servlet 向后端 Bean、Dao 方向寻找方式
    3. 1.3. 三、不同的 SQL操作方式(本项目使用 Hibernate 框架)
    4. 1.4. 四、当按照 路径名 查找不到对应的 Servlet 文件
    5. 1.5. 五、JSF 如何找到对应按钮调用的后端接口
|