1、创建项目demo1(选择apache服务器)
2、创建包(子系统下面的dao数据逻辑层,services业务逻辑层,和servlet;公用common里面放过滤器、监听器等)
3、将jar包,放入lib
4、修改驱动,驱动的类名(Libraries——mysql——com.myaql——Driver.classs),配置过滤器(xml)
1、创建项目demo1(选择apache服务器)
2、创建包(子系统下面的dao数据逻辑层,services业务逻辑层,和servlet;公用common里面放过滤器、监听器等)
3、将jar包,放入lib
4、修改驱动,驱动的类名(Libraries——mysql——com.myaql——Driver.classs),配置过滤器(xml)
1、注释掉doPost里面的request(UTF-8)和(text/html)******出现乱码
2、新建过滤器包EncodeFilter
(1)、新建类EncodeFilter implement Filter
(2)、doFilter
(3)将注释掉的放入doFilter
(4)、执行下一个过滤器:chain.doFilter(request,response)
(5)、在web.xml里面配置文件
<filter>
<filter-name>encode
<filter-class>EncodeFilter .EncodeFilter
(6)、配置过滤器的过滤路径
<filter-mapping>
<filter-name>encode
<url-pattern>/*
********代码*******
Class*****
public class EncodeFilter implements Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//设置响应内容
response.setContentType("text/html");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
xml****
<!-- 配置过滤器 -->
<filter>
<filter-name>encode</filter-name>
<filter-class>EncodeFilter.EncodeFilter</filter-class>
</filter>
<!-- 配置过滤路径 -->
<filter-mapping>
<filter-name>encode</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
1、public后面的为HTMl4的声明,没有public则为HTML5的声明
2、UTF-8避免乱码
3、文本框<input type"text">;提交<input type="submit" value="提交">
4、form里面包含盒子<action="">
5、调用doPost方法
6、获取页面数据String
7、将内容不在控制台展示,写到页面上(设置响应对象)
8、中文乱码:request.setCharacterEncoding(UTF-8)
response.setCharacterEncoding(UTF-8)
****************
代码****
Class
public class Servlet01 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//响应对象
PrintWriter out = response.getWriter();
//设置相应内容格式
response.setContentType("text/html");
//写
out.println("hello world");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//接收页面数据
String username=request.getParameter("username");
String userpwd=request.getParameter("userpwd");
System.out.println("username="+username+" userpwd="+userpwd);
//相应对象
PrintWriter out=response.getWriter();
//设置响应内容
response.setContentType("text/html");
//写
out.println("你注册的账号是:"+username);
out.println("<br>");
out.println("确认你的密码:"+userpwd);
}
}
JSP****
<body>
<form action="/ServletDome01/hello" method="post">
<h1>用户注册</h1>
<div>
用户账号:<input type="text" name="username">
</div>
<div>
用户密码:<input type="password" name="userpwd">
</div>
<div>
<input type="submit" value="提交">
</div>
</form>
</body>
1、创建web工程(在src先建立servlets包)
2、创建sercelt(两种创建方式:直接选择servlet类(较为繁琐);创建class类(需要继承一个服务类httpservlet))
3、需要servlet方法(右键——>source——>Override/Implement Methods——>doGet)
4、补全参数名称(request和response)
相应对象:从服务端向页面上写(printwriter)
设置相应对象的格式:text/html
往页面上写:out.println
5、对servlet配置(在web.xml里面配置;注解的方式:选择Servlet类的方式里面有@webservlet,则不用配置)
web.xml里面配置方式:在</web-app>之上进行输入
(1)、<servlet>里面<servlet-name>hello(可以任意取名)和<servlet-class>包名.类名(类的全名称)
(2)、配置servlet的访问路径<servlet-mapping>里面<servlet-name>名字与上面一样和<url-pattern>/名称
(3)、运行后在Console检查是否存在异常
(4)、在浏览器上运行:http://127.0.0.1(默认80端口):8080/项目名称(大小写敏感)/路径名称hello
public class SysRole{
}
角色:
在系统之外,透过系统边界与系统直接进行有意义交互的各种事物
系统管理员
房产经纪
销售经理
用例图(main):
系统管理子系统、数据字典、客户管理、统计分析、房产经纪管理
系统管理:
系统功能管理、系统角色管理、用户管理
系统管理员(角色)--增加、修改、查询系统功能
系统管理员(角色)--增加、修改、查询角色、角色权限分配
需求分析——简洁、明了--泛化、包含等等能不用尽量不用
注意:
需求任务内容
任务需求
系统管理--功能管理--系统管理员(增、删、改)-增加系统功能(描述)画图--rose
设计数据库
设计数据表--概念数据模型--根据需求规约,提取有用的数据
实体:数据字典、房产经纪 、资源分配表、客户、客户联系记录、看房记录、成交记录、
系统功能-sysfan--属性--
URL--200字符
顶层节点:设置一个数值表示
删除功能:一般不用删除,加上状态字段,进行隐藏 1-正常 0-不可用
fanction-role-user
数据字典--type(记录是几)--int 1--客户年龄段 2-学历等等
多对多--拆分为一对多-角色权限
数据字典不需要连外键
添加角色:
private string roleid;
生成get set
类:servlet:新建sys--role--jsp(add)--
类roleservlet
类service
类dao-定义方法,增加角色--创建sql语句
调用dbuhelper
参数一一对应
servlet中重写service方法--调用相应的方法而不是post/get方法--将相关的方法写进去
uuid--随机值,不会重复
页面(jsp)--servlet--service(处理业务逻辑)-dao(处理数据逻辑sql语句)
界面原型(画界面)
登录界面--新增界面-编辑界面
${pageContext.request.contextPath}--根路径
系统分层:
web系统边界
Servlet与页面进行数据交互控制页面显示
service处理业务逻辑
dao处理数据逻辑 构建SQL语句以及参数
helper执行SQL语句
拆分:程序可读性高
增加系统角色
实体:
系统功能:
房产经纪
客户
联系、看房、成交记录
概念数据模型-物理数据模型-生成数据库-创建数据库连接
购房记录:房产经纪
注意区分角色:
在系统之外,透过系统边界与系统直接进行有意义的交互的各种事物
用例的命名:
动宾短语结构
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html >
<html>
<head>
<meta ="Content-Type" content="text/html; charset=UTF-8">
<title>用户注册</title>
</head>
<body>
<form action="/YiTengPractice/Servlet" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pwd"></td>
</tr>
<td>
<input type="submit" value="提交" ></td>
</table>
</form>
</body>
</html>
public class EncodeFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
chain.doFilter(request, response);
}
<title>用户注册</title>
</head>
<body>
<form action="/YiTengPractice/Servlet" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pwd"></td>
</tr>
<td>
<input type="submit" value="提交" ></td>
</table>
</form>
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// request.setCharacterEncoding("utf-8");
// response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//接受页面上信息
String name=request.getParameter("username");
String pwd=request.getParameter("pwd");
System.out.println("username="+name+"pwd="+pwd);
//响应对象
PrintWriter out=response.getWriter();
//设置格式
response.setContentType("text/html");
// response.setContentType("text/html;charset=utf-8");
//输出注册内容
out.println("你注册的账号:"+name);
out.println("<br>");
out.println("你注册的密码:"+pwd);
}
创建Servlet两种方式:
Servlet开发环境