1.开发环境:MyEclipse 8.0 服务器使用其内置的MyEclipse Tomcat 6
2.新建一个web project,取名为login。在其WebRoot目录下新建一个login.html,这个页面可以看做mvc中的view(视图),指的也就是用户界
面,mvc将其分离出来可以使网页美工师更加专注于页面的美化,程序员专注于后台程序的设计。login.html主要代码如下,很简单主要做了一个传统登录的页面。
[xhtml] view plain copy print ?
- <form action="loginServlet" method="post">
- <div>
- Name <input type="text" name="name"/><br/>
- Password <input type="text" name="pas"/><br/>
- <input type="submit" value="Login"/>
- <input type="hidden" value="login" name="typeId"/>
- div>
- form>
3.在src目录下新建modle.java,包名称为login。这个文件可以看做mvc中的modle(模型),模型表示企业数据和业务规则。在MVC的三个部件中模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。在这里我们不牵涉数据库部分,只是简单完成验证功能,当用户输入Name为admin,Password为1234时即认为登录成功。代码如下:
[java] view plain copy print ?
-
-
-
-
-
- package login;
-
- public class model {
-
- private String name=null;
- private String pas=null;
-
- public void setName(String name)
- {
- this.name=name;
- }
-
- public String getName() {
- return name;
- }
-
- public void setPas(String pas)
- {
- this.pas=pas;
- }
-
- public String getPas() {
- return pas;
- }
-
- public boolean login()
- {
- if ((name.trim().equals("admin"))&&(pas.trim().equals("1234"))) {
- return true;
- }
- else {
- return false;
- }
- }
- }
/** * 2010-4-19 * model.java * author:Xiangzi */ package login; public class model { private String name=null; private String pas=null; public void setName(String name) { this.name=name; } public String getName() { return name; } public void setPas(String pas) { this.pas=pas; } public String getPas() { return pas; } public boolean login() { if ((name.trim().equals("admin"))&&(pas.trim().equals("1234"))) { return true; } else { return false; } } }
4.建立servlet文件。步骤:Menu/File-New-Web-Servlet,包名称为login,名称为loginServlet。Servlet是mvc里面的c(控制器),控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器(例如:servlet)本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。在这里我们修改loginServlet.java文件里面的doPost方法,doPost内代码如下:
[java] view plain copy print ?
- response.setContentType("text/html;charset=GB2312");
- java.io.PrintWriter out = response.getWriter();
-
- String type=request.getParameter("typeId");
- if (type.trim().equals("login")) {
- String name=request.getParameter("name");
- String pas=request.getParameter("pas");
- model newModel=new model();
- newModel.setName(name);
- newModel.setPas(pas);
- if(newModel.login())
- {
- out.print("script Lanuage='JavaScript'>window.alert('登录成功!')");
- }
- else {
- out.print("script Lanuage='JavaScript'>window.alert('登录失败!')");
- }
- }
response.setContentType("text/html;charset=GB2312");//设置响应的MIME类型。 java.io.PrintWriter out = response.getWriter(); String type=request.getParameter("typeId"); if (type.trim().equals("login")) { String name=request.getParameter("name");//获取视图里的name String pas=request.getParameter("pas");//获取视图里的password model newModel=new model();//调用模型 newModel.setName(name); newModel.setPas(pas); if(newModel.login()) { out.print("script Lanuage='JavaScript'>window.alert('登录成功!')"); } else { out.print("script Lanuage='JavaScript'>window.alert('登录失败!')"); } }
5.配置web.xml文件.主要代码如下:
[xhtml] view plain copy print ?
- <servlet>
- <description>This is the description of my J2EE componentdescription>
- <display-name>This is the display name of my J2EE componentdisplay-name>
- <servlet-name>loginServletservlet-name>
- <servlet-class>login.loginServletservlet-class>
- servlet>
- <servlet-mapping>
- <servlet-name>loginServletservlet-name>
- <url-pattern>/loginServleturl-pattern>
- servlet-mapping>
This is the description of my J2EE component This is the display name of my J2EE component loginServlet login.loginServlet loginServlet /loginServlet
6.在浏览器内输入地址就可以看到结果。可以看到使用Jsp+Servlet+JavaBean开发Web Application是很简单的.