structs2学习-day01

要求:

完成Java Web项目开发环境的安装:
JDK的安装
Tomcat的安装
MyEclipse的安装(包括MyEclipse用激活工具激活)
在MyEclipse中配置Tomcat、配置Tomcat的JDK、测试MyEclipse中配置的Tomcat是否配置成功
安装mysql的服务器端、安装mysql的图形用户界面
在安装好的图形用户界面中连接mysql服务器并创建一个数据库,在数据库中创建一个user表(包含username、password、status、age、address五个字段,增加五条记录)

创建一个Web Project,基于MVC设计模式,使用JSP/Servlet及JDBC实现读取数据库user表中存放的数据并以表格的形式展示在页面上的功能。

ConnectionFactory.java

 1 public class ConnectionFactory {
 2     private static Connection conn;
 3     public static Connection getConn(){
 4 //        加载驱动类
 5         try {
 6             Class.forName("com.mysql.jdbc.Driver");
 7 //            建立与数据库的连接
 8             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo?useUnicode=true&" +
 9                     "characterEncoding=utf-8", "root", "123");
10         } catch (ClassNotFoundException e) {
11             // TODO Auto-generated catch block
12             e.printStackTrace();
13         } catch (SQLException e) {
14             // TODO Auto-generated catch block
15             e.printStackTrace();
16         }
17
18         return conn;
19     }
20 }

User.java

 1 public class User {
 2     private String username;
 3     private String password;
 4     private int status;
 5     public String getUsername() {
 6         return username;
 7     }
 8     public void setUsername(String username) {
 9         this.username = username;
10     }
11     public String getPassword() {
12         return password;
13     }
14     public void setPassword(String password) {
15         this.password = password;
16     }
17     public int getStatus() {
18         return status;
19     }
20     public void setStatus(int status) {
21         this.status = status;
22     }
23
24 }

UserDao.java

 1 public class UserDao {
 2     public User getUserByName(User user){
 3 //        建立连接
 4         Connection conn = ConnectionFactory.getConn();
 5         String sql="select * from user where username = ?";
 6 //        获取预编译语句对象
 7         try {
 8             PreparedStatement ps = conn.prepareStatement(sql) ;
 9             ps.setString(1, user.getUsername());
10             ResultSet rs = ps.executeQuery();
11             while(rs.next()){
12                 User result = new User();
13                 result.setUsername(rs.getString("username"));
14                 result.setPassword(rs.getString("password"));
15                 result.setStatus(rs.getInt("status"));
16                 return result;
17             }
18         } catch (SQLException e) {
19             // TODO Auto-generated catch block
20             e.printStackTrace();
21         }
22         return null;
23     }
24 }

UserService.java

 1 public class UserService {
 2     UserDao ud = new UserDao();
 3     public int getUserByName(User user){
 4         int flag = 0;
 5         User result = ud.getUserByName(user);
 6         if(result!=null && !"".equals(result)){
 7             if(result.getPassword().equals(user.getPassword())){
 8                 if(result.getStatus()==0){
 9                     flag = 0;//用户信息正在审核中
10                 }else if(result.getStatus()==1){
11                     flag = 1;//用户信息审核通过
12                 }else if(result.getStatus()==2){
13                     flag = 2;//用户信息审核未通过
14                 }
15             }else{
16                 flag = 3;//用户密码错误
17             }
18         }else{
19             flag = 4;//用户名错误
20         }
21
22
23         return flag;
24     }
25 }

LoginServlet.java

 1 public class LoginServlet extends HttpServlet {
 2     UserService us = new UserService();
 3
 4     public void doGet(HttpServletRequest request, HttpServletResponse response)
 5             throws ServletException, IOException {
 6
 7         response.setContentType("text/html");
 8         this.doPost(request, response);
 9     }
10
11     /**
12      * The doPost method of the servlet. <br>
13      *
14      * This method is called when a form has its tag value method equals to post.
15      *
16      * @param request the request send by the client to the server
17      * @param response the response send by the server to the client
18      * @throws ServletException if an error occurred
19      * @throws IOException if an error occurred
20      */
21     public void doPost(HttpServletRequest request, HttpServletResponse response)
22             throws ServletException, IOException {
23
24         response.setContentType("text/html;charset=utf-8");
25
26 //        处理中文乱码
27         request.setCharacterEncoding("UTF-8");
28         response.setCharacterEncoding("UTF-8");
29
30 //        接受请求
31         String username = request.getParameter("username");
32         String password = request.getParameter("password");
33
34 //        把值封装到对象中
35         User user = new User();
36         user.setUsername(username);
37         user.setPassword(password);
38
39 //        处理请求
40         int result = us.getUserByName(user);
41
42 //        实现跳转
43         if(result == 0){
44             request.setAttribute("msg", "用户信息正在审核中!");
45             request.getRequestDispatcher("login.jsp").forward(request, response);
46         }else if(result == 1){
47             request.setAttribute("msg", "用户登录成功!");
48             request.getRequestDispatcher("main.jsp").forward(request, response);
49         }else if(result == 2){
50             request.setAttribute("msg", "用户信息审核失败!");
51             request.getRequestDispatcher("login.jsp").forward(request, response);
52         }else if(result == 3){
53             request.setAttribute("msg", "用户密码错误!");
54             request.getRequestDispatcher("login.jsp").forward(request, response);
55         }else if(result == 4){
56             request.setAttribute("msg", "用户名错误!");
57             request.getRequestDispatcher("login.jsp").forward(request, response);
58         }
59     }
60
61 }

login.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11
12     <title>登录页面</title>
13
14   </head>
15
16   <body>
17   <div>提示信息:<%=request.getAttribute("msg") %></div>
18     <form action="loginServlet" method="post">
19         <table>
20             <tr>
21                 <td>用户名:</td>
22                 <td><input type="text" name="username"/></td>
23             </tr>
24             <tr>
25                 <td>密码:</td>
26                 <td><input type="password" name="password"/></td>
27             </tr>
28             <tr>
29                 <td></td>
30                 <td><input type="submit" value="登陆"/></td>
31             </tr>
32         </table>
33
34     </form>
35   </body>
36 </html>

main.jsp

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11
12     <title>登录页面</title>
13
14   </head>
15
16   <body>
17         登录成功!<br/>
18         欢迎<%=request.getParameter("username") %>登录!
19
20   </body>
21 </html>

时间: 2024-08-24 12:58:48

structs2学习-day01的相关文章

coco2d学习day01 精灵分析

day01笔记 using namespace cocos2d; == USING_NS_CC; 一般用后面的 #ifndef __MYLAYER_H__ #define __MYLAYER_H__ ---------------一般加入头文件加入宏 : public CCLayer 一般加入一个类继承CCLayer CCLayer::init(); CCLabelTTF *plabel = CCLabelTTF::create("sunda","Arial",36

Scala学习 day01 Scala的类/方法/对象/单例对象

从今天开始,我将尽自己最大努力系统地学习Scala这门语言,希望自己能够坚持下去. Scala中的类 定义规则 class ClassName{     //类中的成员 } 在类定义里,可以放置字段和方法,这些被笼统地称之为成员

python代码学习day01

这段时间在学习一些python的基础 贴上今天学的内容 以供以后回来看看,自己当时有多傻 1 #!/usr/bin/env python 2 #coding:utf8 3 4 print_num = 0 5 count = 0 6 while count < 100: 7 if count == print_num: 8 print "There you got the number:",count 9 choice = raw_input("Do you want t

jQuery学习 day01

最近受某大牛指点(我不会说他姓范),了解了一下jQuery,据说很牛X,就了解了一下,第一天,分享给大家一些心得吧. 1.首先就是导入jQuery文件了,这里我是去jQuery官网下载的.(大家可以去官网下载,并且最好下载开发版),然后导入方式如下: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" 2 "http://www.w3.org/TR/html4/strict.dtd"> 3 4 <

公众号开发学习Day01

登录https://mp.weixin.qq.com/后点击注册进入注册微信公众号界面,使用邮箱进行注册 注意点1:一个邮箱只能创建一个公众号,并且公众号的三种类型(订阅号,服务号,企业号)只能选一种,选定后不能修改 注意点2:只有订阅号能够创建个人类型的公众号并且创建的类别(企业,媒体,政府,个人等种类)选好后也不可更改. 注意点3:个人公众号无法进行认证(无法认证的后果是微信只提供部分api无法使用微信的所有有关api) 注意点4:公众号认证需要交钱300元/次(无论认证是否成功都需要交钱,

[Android开发学习] day01

Android系统介绍 ?2003年10月,AndyRubin创立Android科技公司 ?2005年8月,被Google收购 ?2007年11月,Google牵头,成立开放手机联盟,共同研发和改进Android系统 ?2007年11月,Android的1.0Beta版问世 ?2010年末成为全球第一大智能手机操作系统 Application Framework 组件: View组件:Button,Editview,textview,list. Content Providers(内容提供商):

Python学习day01

首先和大家说说为什么选择了Python 目前的工作内容是Linux系统运维和业务技术支持,自动化运维尤其这一两年吵的火热,本人shell水平也很一般了,所以还是非常想学一门语言来帮助自己的工作.自动化运维也是一个趋势,我也相信以后只会系统技术的运维路肯定会越走越窄.Python又被叫作"胶水语言". Python的优势 非常丰富的类库直接使用 Linux系统自带python 以上两点难道还不够吗? Python的安装 windows安装 Linux 安装 变量 变量是对象的引用,变量只

python学习-day01

一.python介绍: python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. 一.种类: JPython IronPython JavaScriptPython RubyPython CPython ********** pypy 这是用CPython开发的Python 二.python基础 2.1:初识pytho

MVC学习Day01

~~~~ ====================================================================================================================== ~~ ========================================================================================================================= ~