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