Internet中web分类
静态web:指web页面中供人们浏览的数据始终是不变。
动态web:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
IDEA中Tomcat的配置
idea添加Tomcat
导航栏RUN --> Edit Configuration --> "+" --> Tomcat Service --> local
环境变量的配置
新建:CATALINA_HOME:tomcat路径
CATALINA_BASE:tomcat路径
需确保有JAVA_HOME
Web项目的配置
添加Tomcat服务器到项目的环境变量
File --> Project Structure... --> Modules --> Dependencies --> "+" --> Libary --> tomcat
添加服务器的部署
run --> Edit Configuration --> 选中服务器 --> Deployment --> "+" --> 选中项目
Servlet应用
1.创建一个后缀为Servlet的类,继承HttpServlet(项目环境必须加入tomcat),重写service()
2.客户端是不能直接访问到后台代码
需要在web.xml(前端控制器)注册Servlet
<servlet>
<servlet-name>a</servlet-name>
<servlet-class>com.qf.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
url-pattern:访问映射路径
mapping的servlet-name:寻找servlet的servlet-name
servlet-class:被访问的servlet类路径
Servlet的生命周期
客户端发送请求 --> 服务器 --> 根据web.xml的配置信息 --> 根据映射路径找到对应的Servlet类 --> 调用构造方法(创建对象) --> 调用(init)初始化方法 --> 执行service方法(根据请求提交方式决定调用doGet方法或者是doPost方法) --> Servlet被销毁的时候调用(destroy)销毁方法
Servlet是单例多任务模式
表单注册获取name的value值
request.getParameter() --> 获取单个name的value值,返回字符串
request.getParameterValues() --> 获取多个name的value值,返回字符串数组
乱码解决
post:
request.setCharacterEncoding("utf-8");
request.setContentType("text/html;charset=utf-8");
get:
第一种:修改服务器编码格式 tomcat文件地址 --> conf --> Server.xml:URIEncoding = "utf-8"
第二种:针对乱码的字符串进行转码:username = new String(username.getBytes("iso-8859-1"),"utf-8");