Servlet什么是服务器
服务器就是一台高性能的电脑,在电脑上安装了xxx服务的软件,就称为xxx服务器 常见服务器: WebServer做了那些事儿 什么是Servlet web服务软件没有业务功能, Servlet是用于扩展web服务软件 业务功能的组件,每一种业务都需要对应一个Servlet,一个网站是由n个业务组成
创建web工程创建maven工程 选择 webapp骨架(模板) 在工程的main文件夹下面 创建java和resources文件夹 在工程设置页面 facets->web-> 打两个钩 配置Tomcat, 需要先从苍老师文档服务器下载tomcat 解压保存到某个盘的java文件夹下面, 然后参考文档配置Tomcat 添加Tomcat相关jar包 点击播放按钮 运行 显示 helloworld
已经成功的同学 关闭工程 从头再操作一遍 简化步骤:创建Maven工程 选择webapp骨架 配置Tomcat , 选Tomcat猫 , 点灯泡 , 删路径 添加java和resources文件夹 工程设置页面: 打钩 , 添加tomcat相关jar包 点击播放键运行 创建HelloServlet
解决Tomcat控制台提示乱码问题找到Tomcat安装包目录 里面的conf文件夹中的logging.properties 找到最后一个UTF-8改成GBK即可 java.util.logging.ConsoleHandler.encoding = GBK Servlet响应流程用户在客户端浏览器中向http://localhost:8080/hello这个路径发出请求,请求先被Tomcat拦截, Tomcat会取出请求路径中的子地址/hello ,拿着字地址找到对应的HelloServlet(Servlet3.0之前版本是通过web.xml配置文件找到对应的Servlet, 之后版本通过注解的方式找到Servlet),找到Servlet后可以得到Servlet的完整类名,然后通过反射的方式实例化HelloServlet,然后会调用里面的service方法, 方法里面会判断请求方式,如果请求方式是get则调用doGet方法,如果请求方式为post则调用doPost方法. 客户端浏览器中发出请求的几种方式
在浏览器地址栏中输入请求路径 直接发出请求 get 在html页面中通过超链接发出请求 get 通过form表单发出请求 get/post
请求方式Get和PostGET请求: 请求参数放在请求地址的后面(由于提交的参数可见,所以不推荐传递敏感信息),请求参数大小受限 只能传递4k以内的数据 POST请求: 请求参数放在请求体里面(用户看不见 所以安全性较高),请求参数大小无限制(一般用于传递敏感信息或上传文件) 常见错误:SayHello练习BMI身体指数练习注册步骤准备工作: 晚课任务: 把注册功能至少写5遍以上1. 把jdbc03工程中的两个依赖复制到本工程的pom.xml中 刷新maven 2. 把DBUtils工具类复制到cn.tedu包下面 3. 把jdbc.properties配置文件复制到resources目录下 创建reg.html页面,页面中添加form表单提交地址为reg,请求方式post,表单中添加一个文本输入框和一个密码框再加一个提交按钮 创建RegServlet,处理路径为/reg, 在doPost里面设置字符集,获取传递过来的用户名和密码 , 并在控制台输出, 通过JDBC代码把接收到的用户名和密码保存到user表中 给客户端返回注册成功! 创建Maven工程 选择webapp骨架 配置Tomcat , 选Tomcat猫 , 点灯泡 , 删路径 添加java和resources文件夹 工程设置页面: 打钩 , 添加tomcat相关jar包 点击播放键运行 把jdbc03工程中的两个依赖复制到本工程的pom.xml中 刷新maven 把DBUtils工具类复制到cn.tedu包下面 把jdbc.properties配置文件复制到resources目录下 创建reg.html页面,页面中添加form表单提交地址为reg,请求方式post,表单中添加一个文本输入框和一个密码框再加一个提交按钮 创建RegServlet,处理路径为/reg, 在doPost里面设置字符集,获取传递过来的用户名和密码 , 并在控制台输出 在webapp下面创建bmi.html页面, 页面中添加form表单,提交地址为bmi,表单中有两个文本输入框分别输入身高和体重 最后再加一个提交按钮 创建BMIServlet,处理路径为/bmi 在doGet方法中获取传递过来的参数(得到的参数是字符串类型需要将字符串类型转成float类),通过上面的公式计算出bmi, 通过上面对照表的数据 得到给客户端返回的不同的信息,最后把得到的信息返回给客户端 创建sayhello.html页面 ,页面中准备一个form表单 提交地址为 sayhello, 表单中一个文本框和一个提交按钮 创建SayHelloServlet, 处理路径为/sayhello, 在doGet方法中获取传递过来的参数, 并且把参数返回给浏览器,在参数前面加上"你好"两个字 如果创建完Servlet 代码中显示报错,一般是因为没有将Tomcat相关jar包添加到工程中 端口号被占用: 1099 is already in use , 一般是因为有正在运行的工程,把其它工程关掉再运行即可, 如果没有其它运行的工程,找到Tomcat的安装包路径: 找到bin文件夹下shutdown.bat 双击即可 , 如果做了这步还没解决,重启电脑 页面中显示???? 或者提示下载文件 ,都是因为设置响应类型出错 启动子级时出错, 出错原因是因为Servlet里面urlParttens处理的路径没有写/ 或 写了重复路径
|