配置文件就不写了,都是Ctrl+V的
悲剧把下面两个顺序写反了,调试了半天也没有用,日了。。。
me.add(cp);
me.add(arp);
多么痛的领悟,多么痛的领悟,多么痛的领悟。
为什么打开http://localhost/默认打开index.html
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
会在显示在注册页面的顶部
如何去更好的控制数据库,如何去熟练地操作数据库,如何去完美的连接数据库,如何配置log4j.propertise?
映射的原理,作用,方法,_MappingKit;
密码的校对。
JFinal中的Controller的本质是什么,根本作用是什么,Action只是方法?index这些例子是用来干嘛的,执行的源代码是什么样的。如何与其他数据连接;
基础的JFinal小项目:
1.先设置config:
Constant
Route
Plugin
2.然后写Controller:
3.再写Model
4.再写数据操作;
了解DB+Record的基本操作将今天的注册系统完善
慢慢去解决,慢慢成长。
package com.itzy.common;
import com.alibaba.druid.support.jconsole.DruidPlugin;
import com.itzy.User.User;
import com.itzy.controller.IndexController;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.core.JFinal;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Config;
import com.jfinal.plugin.activerecord.dialect.SqlServerDialect;
import com.jfinal.plugin.c3p0.C3p0Plugin;
import com.jfinal.render.ViewType;
import com.jfinal.template.Engine;
public class Myconfig extends JFinalConfig{
public static void main(String[] args) {
/**
* 特别注意:Eclipse 之下建议的启动方式
*/
JFinal.start("src/main/webapp", 80, "/", 5);
}
@Override
public void configConstant(Constants me) {
// TODO Auto-generated method stub
PropKit.use("config.properties");
//me.setDevMode(PropKit.getBoolean("DevMode"));
//me.setViewType("index.jsp");
; }
@Override
public void configRoute(Routes me) {
// TODO Auto-generated method stub
me.add("/", IndexController.class);
}
@Override
public void configEngine(Engine me) {
// TODO Auto-generated method stub
}
@Override
public void configPlugin(Plugins me) {
// TODO Auto-generated method stub
C3p0Plugin cp = new C3p0Plugin(PropKit.get("jdbcUrl"),PropKit.get("user"),PropKit.get("password"));
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp);
arp.setShowSql(true);
//映射表到模型
//_MappingKit.mapping(arp);所有映射在MappingKit中自动化搞定
arp.addMapping("customs", User.class);
me.add(cp);
me.add(arp);
}
@Override
public void configInterceptor(Interceptors me) {
// TODO Auto-generated method stub
}
@Override
public void configHandler(Handlers me) {
// TODO Auto-generated method stub
}
}
package com.itzy.controller;
import java.util.List;
import com.itzy.User.User;
import com.jfinal.core.Controller;
public class IndexController extends Controller{
public void index(){
setAttr("msg", "一切从helloworld开始");
}
public void register(){
render("register.jsp");
}
public void login(){
render("ttt.jsp");
}
public void submit(){
String sname = getPara("user");
String spassword = getPara("password");
//List<sname> users = new ListArray<sname>();
List users = User.dao.find("select * from customs where user = '"+sname+"' and password = '"+spassword+"' ");
setAttr("users",users);
if(users.size()!=0){
System.out.println("登陆成功");
}
else{
System.out.println("账号或密码错误");
}
login();
}
public void add(){
User user = getModel(User.class,"user");
user.save();
System.out.println("注册ok");
login();
}
}
package com.itzy.User;
import javax.servlet.http.HttpSession;
import com.jfinal.plugin.activerecord.Model;
public class User extends Model<User>{
public static final User dao = new User();
}