JSP试题 求大神们的正确答案 急用重谢 1.描述使用了MVC模式的项目中请求/相应过程? 2.程序改错 程序如下
publicclassRegistServletextendsHttpServlet{protectedvoidservice(HttpServletRequestreq...
public class RegistServlet extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
UserDao ud=new UserDao();
User user = new User();
user.setUsername(username);
user.setPassword(password);
if(ud.queryByName(user)){
session.setAttribute("exc", "用户名重复");
response.sendRedirect("regist.jsp");
}else{
userDao.add(user);
request.setAttribute("user", user);
this.getServletContext().getRequestDispatcher("/success.jsp").forward(request, response);
}
}
} 展开
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
String password = request.getParameter("password");
UserDao ud=new UserDao();
User user = new User();
user.setUsername(username);
user.setPassword(password);
if(ud.queryByName(user)){
session.setAttribute("exc", "用户名重复");
response.sendRedirect("regist.jsp");
}else{
userDao.add(user);
request.setAttribute("user", user);
this.getServletContext().getRequestDispatcher("/success.jsp").forward(request, response);
}
}
} 展开
4个回答
展开全部
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念
视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
程序感觉设计有误:为什么检查出来有重复的user要保存到session中呢,而注册好的用户又要去保存到request中,感觉是不符合逻辑的
视图
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
程序感觉设计有误:为什么检查出来有重复的user要保存到session中呢,而注册好的用户又要去保存到request中,感觉是不符合逻辑的
追问
....不太明白 能加下QQ吗 116607659 谢谢
展开全部
request.setAttribute("user", user);
这个地方应该改成下面这样吧
session.setAttribute("user", user);
这个地方应该改成下面这样吧
session.setAttribute("user", user);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把报的错误发出来看下啊~这样没法看的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单看这段代码、看不出错误。。
更多追问追答
追问
....晕啊 这就是程序改错 大神帮帮忙 真的很急
追答
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
权限改为public
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询