提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Maven项目
文章目录
前言
上课的第一个项目
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建Maven项目 cityFileFK
1.1 创建工程
创建工程
1.2 准备工作
1.2.1 pom.xml文件里的< dependencies >可以导入依赖
pom.xml文件里的< dependencies >可以导入依赖,如图所示的位置
一般在网站 https://mvnrepository.com/ 内搜索所需的包
如,搜索tomcat(只是举例),将最下面的代码复制在dependencies这里就好。
1.2.2 补齐文件目录
若文件目录不全,按图片所示补齐
1.2.3 导入项目资源
将一些必要的项目资源放在webapp目录下,因为WEB_INF目录受到保护,浏览器无法直接访问,访问只能通过转发或重定向。
通过浏览访问登陆页面
http://localhost:8086/login
1.2.4 了解MAC开发模式
MAC开发模式:
M:model; JAVABean、DAO(数据访问对象:写CRUD增删改查的方法)
V:view; html、JSP
C:controller; Servlet
如:服务员,用户,厨师的关系
1.2.5 创建一些必要的package
controller:控制器
pojo:简单的java对象,为了避免与EJB混淆
dao:data access objects,数据访问对象,实际就是写CRUD的类
util:工具
filter:过滤器
将file encoding改为UTF-8
二、项目搭建
1.创建ToLoginPageServlet类
1.1 在controller包里新建ToLoginPageServlet类
1.2 导入 servlet-api
去 https://mvnrepository.com/ 搜索servlet-api,选用了3.0.1版本,将代码复制在dependencies这里,如图
如果报错
先等待片刻,还是报错进入Maven Settings,勾选Use plugin registry,如图
或者重启IDEA
1.3 使用service(HttpServletRequestreq,HttpServletResponse resp)方法
常用方法:
init():初始化数据
destroy():销毁,服务器关闭
doGet:处理get请求
doPost:处理post请求
service:get和post请求都可以处理
在这里我们只需要service(HttpServletRequestreq,HttpServletResponse resp)
HttpServletRequest:请求对象
HttpServletResponse:响应对象
我们不继承父类,所以去掉super
使用注解开发:
@WebServlet(urlPatterns = “/login”)
跳转登录页面(转发、重定向),这里使用转发,可以绑定数据返回到jsp页面,而重定向只是跳转,不可以绑定数据
补充知识:jsp中九大隐含对象(不需要创建,直接使用):request response out session application pageContext page config exception
2. 用tomcat插件部署项目
项目的部署:
以前一般用Tomcat服务器部署项目
今天用tomcat插件部署项目,将代码复制到pom.xml文件的built下配置
<!-- 导入tomcat插件-->
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8088</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
如果没有显示插件,把built内其他所有内容去掉
如图点击tomcat7:run-war运行,若显示下图网址则成功。
将网址复制到谷歌浏览器打开,login页面显示正常(图片和格式无法正常显示记得检查文件目录)
3.数据库表设计
3.1 数据库分类
数据库:关系型数据库、非关系型数据库
关系型数据库:二维表形式存储数据,有行和列(似excel);如mysql、Oracle、sqlServer
非关系型数据库:以key-value形式存储数据;redis mangoDB
3.2 创建数据库
3.2.1 表设计
本数据库名称:citylifefk
涉及的表:tb_admin_user表(用户和管理员放一张表里,可以用标记role区分)
tb_admin_user表属性:id uname pwd role createTime loginTime
3.2.2 创建数据库和表
完成创建数据库和表
4.创建LoginServlet类
4.1 创建LoginServlet类
4.2.1 设置servlet中文编码格式
当前servlet默认编码为ISO8859-1不支持中文,应先设置中文编码格式
4.2.2 接受用户信息
接受参数(接收用户填写的信息)
代码:
package controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/*登录*/
@WebServlet(urlPatterns = "/toLogin")
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//当前servlet默认编码为ISO8859-1不支持中文,应先设置中文编码格式
req.setCharacterEncoding("utf-8");
//接受参数(接收用户填写的信息)
String username = req.getParameter("username");
String password = req.getParameter("password");
//根据用户名和密码查询当前用户信息是否存在,在dao里写
}
}
4.3 连接数据库
4.3.1 引入 mysql connecter 依赖
同之前,去网站搜索 mysql ,找到如图所示,选择版本,复制代码