JAVAWEB入门
本章内容:
一、 了解web开发的基本概念
-
浏览器/服务器:
客户端不需要安装应用程序,需要一个浏览器
客户端/服务器:客户端需要安装应用程序,服务器上一般放的是数据库
bs的优点:项目更新维护方便。
-
http协议(知道):
超文本传输协议(规则)
信息传输过程:信息传输之前首先建立连接,无状态(本次请求后,服务器得不到上一次请求传递给服务器的信息)
信息传输格式
请求: 行(请求方式(get/post) ,请求路径 头(客户浏览器一些信息以及发送给服务器的信息的一些说明信息) 体(真正想发送给服务器的信息(如登录的用户名和,密码))
响应:行(响应的状态代码) 头(响应回来的内容的说明信息(如内容大小,内容类型)以及服务器的信息) 体(在客户端界面上呈现出来的信息)
二、了解JAVA WEB服务器
需要使用中间服务器搭建你的项目,让你的项目可以通过:协议://ip:port/ 访问
JAVA的服务器
Tomcat Apache
weblogic
websphare
三、安装tomcat
-
下载地址:Apache Tomcat® - Apache Tomcat 8 Software Downloads
-
tomcat目录结构
bin webapps(,非常重要,是web项目的发布目录) conf(配置文件所在的目录) log(日志信息所在目录) lib(jar包所在的目录) work(存放项目在运行过程中产生的文件) temp(临时文件所在的目录)
-
启动tomcat
bin——>startup.bat
http://localhost:8080/
协议://ip地址:端口号
Tomcat的默认端口是8080
启动Tomcat出现的问题与解决方式
1、运行startup.bat时一闪而过。解决方法:需要在环境变量中配置JAVA_HOME
2、访问不到项目中的页面
原因:tomcat启动被停掉了,不要关闭启动窗口
3、服务器没有个关闭也访问不到。
解决方案:
a、项目名称是否正确
b、是否访问的页面为index.html
为什么index.html可以直接找到,是因为tomcat默认配置过了
-
tomcat端口号的配置
tomcat的配置文件:tomcat安装目录\conf\server.xml
需要重新启动tomcat
四、发布JAVAWEB项目:
将项目放到tomcat的webapps目录中
把项目什么内容放到这个目录中:编译好的class文件、页面和页面需要用的资源(css、js、图片等等)
url:统一资源定位符
协议://ip地址:端口号/项目文件的具体的路径
在浏览器中输入统一资源定位符来访问服务器中的代码
tomcat需要和eclipse进行协作
五、使用eclipse开发第一个web项目 (重点掌握)
-
eclipse和tomcat进行关联
1)建立项目的时候 —->targetruntime——->new runtime(第一次建立项目的时候做即可,后续建立项目不用)
2)winodw—-preference———server——runtime enviroment———>add
-
javaweb项目,默认的类库如下
-
运行web项目
RUN AS RUN ON SERVER————->发布项目并启动tomcat服务
-
eclipse默认的项目发布目录:
工作区.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
-
开发环境下本地的目录结构
访问路径(URL):协议://ip地址:端口号/项目根目录/具体资源的路径
-
欢迎页面的配置(了解)
直接输入项目名称就可以访问到的页面
六、servlet的应用(重点掌握)
Servlet作用:是一个运行在服务器上的java程序,处理请求和响应
-
建立servlet
继承HttpServlet
/** * 1,作用:接收请求,处理,给客户端进行响应 * 2.就是一个java类,是继承了HttpServlet的java类 * 3.必须配置一个访问路径,在web.xml中配置 * 4.使用url进行访问,在地址栏中输入url的时候,会根据web.xml文件中配置的信息定位到应该去执行哪一个Servlet中的方法 * * */ public class HelloServlet extends HttpServlet{//处理get请求 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stubSystem.out.println("服务器端收到了来自于客户端的请求");} //处理post请求 @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub } }
-
配置 servlet(在web.xml中配置)
配置方式一:一个Servlet可以配置多个请求路径()url)_
<servlet> <servlet-name>hs</servlet-name> <!-- HelloServlet的全名--> <servlet-class>com.servlets.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hs</servlet-name> <!-- /:代表的是web项目的根目录。在开发环境下相当于webcontent目录 --> <url-pattern>/hello</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>hs</servlet-name> <!-- /:代表的是web项目的根目录。在开发环境下相当于webcontent目录 --><url-pattern>/hello1</url-pattern> </servlet-mapping>
注意:url-pattern最前面的/代表的是web项目的根目录
配置方式二:使用通配符
<servlet> <servlet-name>hs</servlet-name> <!-- HelloServlet的全名--> <servlet-class>com.servlets.HelloServlet</servlet-class> </servlet> <servlet-mapping><servlet-name>hs</servlet-name><url-pattern>/*</url-pattern> </servlet-mapping>
配置方式三:固定后缀
<servlet> <servlet-name>hs</servlet-name> <!-- HelloServlet的全名--> <servlet-class>com.servlets.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hs</servlet-name><url-pattern>*.do</url-pattern> </servlet-mapping>
配置方式四:配置到根路径的子路径中
<servlet> <servlet-name>hs</servlet-name> <!-- HelloServlet的全名--> <servlet-class>com.servlets.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hs</servlet-name> <url-pattern>/test/a</url-pattern> </servlet-mapping>
-
给客户断浏览器响应内容
public class HelloServlet extends HttpServlet{ //处理get请求 @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stub //System.out.println("服务器端收到了来自于客户端的请求"); //设置响应的内容的类型和编码 resp.setContentType("text/html;charset=utf-8");//得到一个给客户端浏览器写内容的流对象 PrintWriter out=resp.getWriter();//写 out.print("<h1>你好,客户端</h1>");out.print("<h1>你好,客户端</h1>");out.flush(); out.close();} //处理post请求 @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// TODO Auto-generated method stub } }
-
连接数据库展示所有的商品信息
第一步:将jar包复制到 web-inf——lib目录中
第二步:src下建立配置文件
第三步:准备dao及service层以及一些工具类
工具类
dao层(映射器接口和映射文件)
Service层
第四步:建立Servlet
第五步:对Servlet进行配置
第六步:浏览器中进行访问
5.完成登录功能
第一步:先分析流程
第二步:编写登录页面:指定action属性,就是点击登录的时候要去的地方(一般为服务器上Servlet的路径)
第三步:编写服务器上的Servlet,接收客户端传递过去的用户名和密码
第四步:完成servicedao层代码,验证用户名和密码是否正确
Dao(UserMapper.java)
Dao(UserMapper.xml)
Service(UserService.java)
第五步:继续完善Servlet中的代码,调用Service的代码进行判断,并根据判断结果的不同跳转到不同的页面