mvc模式流程
本人学过JavaBean和servlet的基础,现在想了解mvc开发(jsp+JavaBean+servlet)的方法,请以用户登录主页后新闻的显示说明,谢谢,请给出源码...
本人学过JavaBean和servlet的基础,现在想了解mvc开发(jsp+JavaBean+servlet)的方法,请以用户登录主页后新闻的显示说明,谢谢,请给出源码
展开
6个回答
展开全部
//Struts MVC 程序示例
package cn.siox.web.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm lf=(LoginActionForm)form;
// return mapping.findForward("sucess");
// if(lf.getUsername().equals("admin")&&lf.getPassword().equals("admin")){
// //提交成功
// return mapping.findForward("success");
// }else {
// //提交失败
// return mapping.findForward("error");
// }
try{
ValidateManager vm=ValidateManager.class.newInstance();
vm.login(lf.getUsername(), lf.getPassword());
request.setAttribute("username", lf.getUsername());
return mapping.findForward("success");
}catch(UserNotFoundException ue){
//ue.printStackTrace();
System.out.println("------------------>用户找不到");
System.out.println(lf.getUsername());
request.setAttribute("errorinfo", "用户找不到:"+lf.getUsername());
return mapping.findForward("error");
}catch(PasswordErrorException pe){
//pe.printStackTrace();
System.out.println("------------------>密码错了");
request.setAttribute("errorinfo", "娘的,密码错了:");
return mapping.findForward("error");
}
}
}
package cn.siox.web.struts;
import org.apache.struts.action.ActionForm;
/**
*
* @author Lindily
*
*/
/**
* 登陆的ActionForm,他专门来做数据的收集
*/
public class LoginActionForm extends ActionForm {
private String username,password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package cn.siox.web.struts;
public class PasswordErrorException extends RuntimeException {
}
package cn.siox.web.struts;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* @author Lindily
*
*/
public class SupportAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setCharacterEncoding("utf-8");
SupportActionForm sf=(SupportActionForm)form;
System.out.println("-------->"+sf.getText());
request.setAttribute("support", "<h3>感谢!</h3><p>你提供的建议:"+sf.getText()+" 我们已经保存");
return mapping.findForward("support");
}
}
package cn.siox.web.struts;
import org.apache.struts.action.ActionForm;
/**
* @author Lindily
*
*/
public class SupportActionForm extends ActionForm {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
package cn.siox.web.struts;
public class UserNotFoundException extends RuntimeException {
}
package cn.siox.web.struts;
public class ValidateManager {
public void login(String user,String pass){
if(!"root".equals(user)){
throw new UserNotFoundException();
}
if(!"123456".equals(pass)){
throw new PasswordErrorException();
}
}
}
//web.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.go</url-pattern>
</servlet-mapping>
</web-app>
//struts-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="loginform" type="cn.siox.web.struts.LoginActionForm" />
<form-bean name="supportform" type="cn.siox.web.struts.SupportActionForm" />
</form-beans>
<action-mappings>
<action path="/login" type="cn.siox.web.struts.LoginAction" name="loginform" scope="request">
<forward name="success" path="/success.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
<action path="/support" type="cn.siox.web.struts.SupportAction" name="supportform" scope="request">
<forward name="support" path="/support.jsp"></forward>
</action>
</action-mappings>
</struts-config>
package cn.siox.web.struts;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm lf=(LoginActionForm)form;
// return mapping.findForward("sucess");
// if(lf.getUsername().equals("admin")&&lf.getPassword().equals("admin")){
// //提交成功
// return mapping.findForward("success");
// }else {
// //提交失败
// return mapping.findForward("error");
// }
try{
ValidateManager vm=ValidateManager.class.newInstance();
vm.login(lf.getUsername(), lf.getPassword());
request.setAttribute("username", lf.getUsername());
return mapping.findForward("success");
}catch(UserNotFoundException ue){
//ue.printStackTrace();
System.out.println("------------------>用户找不到");
System.out.println(lf.getUsername());
request.setAttribute("errorinfo", "用户找不到:"+lf.getUsername());
return mapping.findForward("error");
}catch(PasswordErrorException pe){
//pe.printStackTrace();
System.out.println("------------------>密码错了");
request.setAttribute("errorinfo", "娘的,密码错了:");
return mapping.findForward("error");
}
}
}
package cn.siox.web.struts;
import org.apache.struts.action.ActionForm;
/**
*
* @author Lindily
*
*/
/**
* 登陆的ActionForm,他专门来做数据的收集
*/
public class LoginActionForm extends ActionForm {
private String username,password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package cn.siox.web.struts;
public class PasswordErrorException extends RuntimeException {
}
package cn.siox.web.struts;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* @author Lindily
*
*/
public class SupportAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setCharacterEncoding("utf-8");
SupportActionForm sf=(SupportActionForm)form;
System.out.println("-------->"+sf.getText());
request.setAttribute("support", "<h3>感谢!</h3><p>你提供的建议:"+sf.getText()+" 我们已经保存");
return mapping.findForward("support");
}
}
package cn.siox.web.struts;
import org.apache.struts.action.ActionForm;
/**
* @author Lindily
*
*/
public class SupportActionForm extends ActionForm {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
package cn.siox.web.struts;
public class UserNotFoundException extends RuntimeException {
}
package cn.siox.web.struts;
public class ValidateManager {
public void login(String user,String pass){
if(!"root".equals(user)){
throw new UserNotFoundException();
}
if(!"123456".equals(pass)){
throw new PasswordErrorException();
}
}
}
//web.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.go</url-pattern>
</servlet-mapping>
</web-app>
//struts-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="loginform" type="cn.siox.web.struts.LoginActionForm" />
<form-bean name="supportform" type="cn.siox.web.struts.SupportActionForm" />
</form-beans>
<action-mappings>
<action path="/login" type="cn.siox.web.struts.LoginAction" name="loginform" scope="request">
<forward name="success" path="/success.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
<action path="/support" type="cn.siox.web.struts.SupportAction" name="supportform" scope="request">
<forward name="support" path="/support.jsp"></forward>
</action>
</action-mappings>
</struts-config>
展开全部
M:model 实体层,主要是javabean,封装数据的,它负责数据操作。
v:view 视图层,jsp html的页面
c:control 控制器(逻辑层) jsp页面提交的数据交由它判断,并根据判断结果转向相应的数据操作,即调用具体的javabean类。
v:view 视图层,jsp html的页面
c:control 控制器(逻辑层) jsp页面提交的数据交由它判断,并根据判断结果转向相应的数据操作,即调用具体的javabean类。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mvc模式对开发来讲很好用,建议采用struts等框架,虽然学习起来需要花上一段时间,但是学会之后很好用的,不妨试一下
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我有登录的页面,你可以直接拿去链接到你的新闻显示页,如果要的话百度hi我,我的邮箱是zhanghongzhen0301@163.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MVC = model(模型)+view(视图)+control(控制器)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询