- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
servlet初识
一、servlet初识
在Java Web开发中,控制器是通过一个称为servlet的纯Java程序来实现的
要实现java web的开发,首先需要j2ee包,最主要的包是servlet-api.jar,该包是tomcat提供的,存放在tomcat目录/lib目录下
任务:创建一个简单的servlet程序,实现客户端的请求与相应
为了开发方便快捷,经常使用myeclipse向导来创建servlet程序
所有的java程序(主要包括控制器和模型)均存放在src目录下,建议使用包的方式来进行组织
所有的servlet程序均是javax.servlet.http.HttpServlet类的子类,可以根据需要对父类相关的方式进行重写覆盖(override),最主要的两个方法是doGet和doPost方法
Servlet需要配置很多信息,这些信息存放在WEB-INF\web.xml文件中
servlet name:servlet名字(别名),对于一个web应用,将会有很多servlet,每个servlet都应该有一个独一无二的名字
servlet class name:servlet程序的full路径(即包名.类名),如controller.FirstServlet
mapping url:客户端请求时的url地址后缀,以”/”开始
通过上述的配置信息,客户端通过浏览器进行某个servlet请求时,就可以找到对应的servlet类程序了,然后自动的执行doGet或者doPost方法,究竟执行哪一个取决于客户端的请求方式,客户端的请求方式分为post和get两种方式
通过浏览器直接发出的请求均是get方式(或者超链接)
通过表单向服务器发出请求究竟是何种方式可以进行设置
深入解析doGet或者doPost方法
该方法有两个重要的参数
HttpServletRequest类对象:封装的是客户端送给服务器的请求信息
如获取客户端向服务器发送的一些参数,对于get方式,只需在地址栏?后加上键值对信息,多个之间用符号,
getParameter(键名)可以获取这些参数
getRemoteAddr()可以获取请求的客户端ip地址
HttpServletResponse类对象:封装对客户端的响应信息,
如
可以调用setContentType(text/html; charset=utf-8)方法进行内容类型的设置
PrintWriter out = response.getWriter()生成输出流对象
提示:
Servlet程序或web.xml文件发生修改后,一般需要重启tomcat重新访问才能生效,为了减少频繁重启的麻烦,可以在设置项目虚拟目录时增加reloadable属性,如
Context path=/demo docBase=E:\webDemo\WebRoot reloadable=true /
二.通过表单提交的方式向控制器发送请求
对表单form设置method= action=“”两个属性
其中method的值可以为get或post,
Post方式传递的参数将不会出现在浏览器的地址栏中
而get方式将会在浏览器的地址栏中显示所有传递的参数明和参数值
Action即为控制器的url地址,
可以是相对地址(省略当前目录的地址),
也可以是绝对地址(full url),
注意两种写法的区别
如:
完整地址::8080/demo/controller/LoginController.do
假如当前目录为:8080/demo
相对地址:controller/LoginController.do,即省略当前目录
千万不要写为/controller/LoginController.do(经常出现的一种错误的写法,/表示的是web 服务器的根,即:8080/),因此这种写法代表的是:8080/ controller/LoginController.do
在实际应用中,url地址建议使用完整路径,但是不要采取硬编码的形式,而采取变量动态获取的形式
%
String basePath=http://+request.getServerName();
basePath=basePath+:+request.getServerPort();
basePath=basePath+request.getContextPath();
%
action=%=basePath%/controller/loginAction.do
来取代:8080/demo/controller/LoginController.do
不能正确显示符号的现象称为“乱码”
字符的编码
任何信息存放在计算机中均有一个数字,即该字符的编码
有很多编码规则
如
ascii编码,字符a在
您可能关注的文档
最近下载
- 个人简历表格下载word(最新).pdf VIP
- (高清版)-B-T 42286.1-2022 轨道交通电子设备 车载驾驶数据记录 第1部分:技术规范.pdf VIP
- 4. 光伏厂区通讯培训.pptx VIP
- 2025全球稳定币产业发展报告.pdf VIP
- 智能优化算法研究课件-上海交通大学+张立新.ppt VIP
- 小学低年级读本第1讲第二课《我自豪我是中国人》说课稿.pdf VIP
- 共同的纽约OneNYC-2050-包容的经济.pdf VIP
- DLT 5418-2009《电厂烟气脱硫吸收塔施工及验收规程》.doc VIP
- 2024-2025学年北京市西城区七年级上学期期末考语文试卷含详解.docx VIP
- 血液透析应急流程图.doc
文档评论(0)