jfinal+jsp development

JFinal is an extremely fast WEB + ORM development framework based on the Java language. Its core design goals are rapid development, less code, easy learning, powerful functions, light weight, easy expansion, and Restful. With all the advantages of the Java language, it also has the development efficiency of dynamic languages ​​such as ruby, python, and php!

  1: Add related dependencies to the project pom.xml file
   	<!-- jar that jfinal depends on -->
	<dependencies>
		<dependency>
			<groupId>com.jfinal</groupId>
			<artifactId>jfinal</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.11</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.1.15</version>
		</dependency>
		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
			<version>2.3.20</version>
		</dependency>
		<!-- Database connection dependency package-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.34</version>
		</dependency>
	</dependencies>

2: Write an entity class, inherit the model abstract class
import com.jfinal.plugin.activerecord.Model;
public class User extends Model<User>{

}

3: Write the config configuration file
package conf;

import model.User;

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.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.render.ViewType;

import controller.LoadController;
import controller.UserController;

public class DemoConf extends JFinalConfig{
	@Override
	public void configConstant(Constants  me) {
		// TODO Auto-generated method stub
		  //Set the display type of the page to jsp
		me.setViewType(ViewType.JSP);
	}
	@Override
	public void configHandler(Handlers arg0) {
		// TODO Auto-generated method stub
	}

	@Override
	public void configInterceptor(Interceptors arg0) {
		// TODO Auto-generated method stub
	}
	@Override
	public void configPlugin(Plugins me) {
		// TODO Auto-generated method stub
		try {
			DruidPlugin dp = new DruidPlugin(
					"jdbc:mysql://hadoop1:3306/test", "root",
					"root");
			me.add(dp);
			ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
			me.add(arp);
			/ / Entity class and database table mapping
			arp.addMapping("user", "id", User.class);
			System.out.println("success");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace ();
			System.out.println("Failed");
		}
	}
   //set route
	@Override
	public void configRoute(Routes me) {
		// TODO Auto-generated method stub
		
		//me.add("/", UserController.class);
		me.add("/user", UserController.class);
	}

}
4: Write the controller class
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.Restful;
public class UserController extends Controller {
	public void index(){
			render("login.jsp");
	}
	User userdao = new User();
 
	public void login() {
		System.out.println("Database operation");
		User us = getModel(User.class);
		List<User> userlist = userdao.find(
				"select *from user where username=? and password=?",
				us.getStr("username"), us.getStr("password"));
		if(userlist.size()==0){
			redirect("/index.jsp");
		}else{
			redirect("/index1.jsp");
		}
		//return user;
	}

5: web.xml configuration
  
   <filter>
		<filter-name>jfinal</filter-name>
		<filter-class>com.jfinal.core.JFinalFilter</filter-class>
		<init-param>
			<param-name>configClass</param-name>
			<param-value>conf.DemoConf</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>jfinal</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

5: page action configuration
<!-- action takes the login() method of the controller corresponding to the user route -->
<div class="loginBox" >
	<div class="login">
    	<h1 class="mg-t30">User login</h1>
        <form action="/user/login" method="post">
            <input name="user.username"  type="text">
            <input name="user.password" type="text">
            <input  type="submit" value="登录">
        </form>
    </div>
</div>

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326332717&siteId=291194637