
如果是课程设计的话, 还是以servlet+jsp为主吧, 前端套一个layui的框架, 还是挺好看的, 比如我写的一个成绩信息管理系统, 代码量不太多, 只用到了servlet,jsp, filter等技术,我觉得对技术还是很有提升的
如果是毕业设计, 那就要用到一些mvc框架和orm框架了, 主要是struts2, springmvc, hibernate, mybatis 两两组合
数据进入数据库之前对非法字符进行转义,在更新和显示的时候将非法字符还原
在显示的时候对非法字符进行转义
如果项目还处在起步阶段,建议使用第二种,直接使用jstl的<c:out>标签即可解决非法字符的问题。当然,对于Javascript还需要自己处理一下,写一个方法,在解析从服务器端获取的数据时执行以下escapeHTML()即可。
附:Javascript方法:
StringprototypeescapeHTML = function () {
return thisreplace(/&/g, ‘&’)replace(/>/g, ‘>’)replace(/</g, ‘<’)replace(/”/g, ‘"’);
}
如果项目已经开发完成了,又不想大批量改动页面的话,可以采用第一种方法,此时需要借助Spring MVC的@InitBinder以及orgapachecommonslangPropertyEditorSupport、orgapachecommonslangStringEscapeUtils
public class StringEscapeEditor extends PropertyEditorSupport {
private boolean escapeHTML;
private boolean escapeJavaScript;
private boolean escapeSQL;
public StringEscapeEditor() { super(); }
public StringEscapeEditor(boolean escapeHTML, boolean escapeJavaScript, boolean escapeSQL) {
super();
thisescapeHTML = escapeHTML;
thisescapeJavaScript = escapeJavaScript;
thisescapeSQL = escapeSQL;
}
@Override
public void setAsText(String text) {
if (text == null) {
setValue(null);
ActiveRecord支持声明式事务,声明式事务需要使用ActiveRecordPlugin提供的拦截器来实现,拦截器的配置方法见Interceptor有关章节。以下代码是声明式事务示例:
// 本例仅为示例, 并未严格考虑账户状态等业务逻辑@Before(Txclass)
public void trans_demo() {
// 获取转账金额
Integer transAmount = getParaToInt("transAmount");
// 获取转出账户id
Integer fromAccountId = getParaToInt("fromAccountId");
// 获取转入账户id
Integer toAccountId = getParaToInt("toAccountId");
// 转出 *** 作
Dbupdate("update account set cash = cash - where id = ",
transAmount, fromAccountId);
// 转入 *** 作
Dbupdate("update account set cash = cash + where id = ",
transAmount, toAccountId);
}
以上代码中,仅声明了一个Tx拦截器即为action添加了事务支持。除此之外ActiveRecord还配备了TxByActionKeys、TxByActionKeyRegex、TxByMethods、TxByMethodRegex,分别支持actionKeys、actionKey正则、actionMethods、actionMethod正则声明式事务,以下是示例代码:
public void configInterceptor(Interceptors me) {meadd(new TxByMethodRegex("(save|update)"));
meadd(new TxByMethods("save", "update"));
meadd(new TxByActionKeyRegex("/trans"));
meadd(new TxByActionKeys("/tx/save", "/tx/update"));
}
上例中的TxByRegex拦截器可通过传入正则表达式对action进行拦截,当actionKey被正则匹配上将开启事务。TxByActionKeys可以对指定的actionKey进行拦截并开启事务,TxByMethods可以对指定的method进行拦截并开启事务。
注意:MySql数据库表必须设置为InnoDB引擎时才支持事务,MyISAM并不支持事务。
网页链接
以上就是关于急需一份使用Java Web/jsp和Mysql开发基于B/S架构的信息管理系统全部的内容,包括:急需一份使用Java Web/jsp和Mysql开发基于B/S架构的信息管理系统、大家畅所欲言,当jFinal遇到XSS和SQL注入怎么处理、jfinal声明式事务怎样配置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)