java--简单分层概念(tomcat)

来源:互联网 发布:java过滤器的原理 编辑:程序博客网 时间:2024/04/27 14:48

这里相当与前台页面–index.jsp(相当于表现层)

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><html>  <head>    <title>第一个web项目的主页</title>  </head>  <body>    <h2>主页主页</h2>    <h2>湖南长沙</h2>    <h3>发布方式一......</h3>    <h3>分层架构演示</h3>    <form action="layer" method="post">        姓名:<input type="text" name="name"/><br/>            年龄:<input type="text" name="age"/><br/>            <input type="submit" value="保存"/>      </form>    <br/><br/><br/><br/>    <br/><br/><br/><br/>  </body></html>

这里相当与前台代码功能–LayerServlet.java(相当于逻辑层)

package cn.hncu.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.hncu.dao.StudDao;import cn.hncu.dao.StudDaoImpl;import cn.hncu.domain.Stud;public class LayerServlet extends HttpServlet {    @Override    protected void service(HttpServletRequest req, HttpServletResponse resp)            throws ServletException, IOException {        System.out.println("经过后台,可以控制");        //演示后台控制        //收集参数        String name=(String) req.getParameter("name");        String strAge=(String) req.getParameter("age");        //组织参数        Stud st=new Stud();        st.setName(name);//从前端页面获取的数据        st.setId("001");        st.setAge(Integer.parseInt(strAge));        //调用dao层        StudDao dao=new StudDaoImpl();        boolean boo=dao.save(st);        //这种格式是从后台传来的        req.setAttribute("name", "这是保存之后的姓名"+st.getName());        //根据结果导向--转发方式        if(boo){            req.getRequestDispatcher("/jsps/result.jsp").forward(req, resp);        }else{            req.getRequestDispatcher("/jsps/failure.jsp").forward(req, resp);        }    }}

dao层–调用数据层(这里数据层省略了)
接口:

package cn.hncu.dao;import cn.hncu.domain.Stud;public interface StudDao {    public abstract boolean save(Stud st);}

实现类:

package cn.hncu.dao;import cn.hncu.domain.Stud;public class StudDaoImpl implements StudDao {    @Override    public boolean save(Stud st) {        System.out.println(st.toString());        if(st.getAge()<=25){            return true;        }        return false;}

domain–Stud对象(相当于值对象)

package cn.hncu.domain;public class Stud {    private String id,name;    private int age;    public String getId() {        return id;    }    public void setId(String id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "Stud [id="+id+", name=" +name+", age=" + age"]";}

根据返回值true所返回的页面–result.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>    <title>重定向/转发结果注册页面</title>  </head>  <body>   <h2>重定/转发向结果页面</h2>    <%        String name=(String)request.getAttribute("name");        out.println("Attribute:name="+name);        String nm=(String)request.getParameter("name");        out.println("Parameter:name="+nm);     %>    <br/>    <!-- 网页内的"/"代表helloWeb外面的目录,所以网页文本路径一定要加项目根目录:"/helloWeb/" -->    <!-- 而java代码内的"/"代表项目根目录,所以只要写文本存在目录就好了 -->    <img alt="" src="/helloWeb/images/1.jpg">  </body></html>

根据结果false所导向的结果页面–failure.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html>  <head>    <title>重定向/转发结果注册页面</title>  </head>  <body>   <h2>保存失败结果页面...</h2>    <br/>  </body></html>
0 0
原创粉丝点击