SSM项目第1讲
in 语言/工程/算法
从零到Hello World
新建项目
- 打开eclipse,New Dynamic Web Project(首先只需起好名字)
- window->preference->validation 将XML Schema validation,XML validation,XSL validation三个选项的勾去掉,加快编译速度。
- 工程右击选择properties中Java Build Path添加自己的JRE
配置容器
直接引入其他工程中的WEB-INF/lib这个库(加入架包)
右击Window->properties->serve->Runtime Environment,新建
(右方的add)一个容器Tomcat(选择你使用的版本)->next->选择你使用的jre(选择你使用的版本)右击你的工程文件夹->run as->上方的选new server,下方下拉栏选择上一步配好的容器名->finish
这时一般会报错,是因为端口重复,这时在serve框中
(如果没有在window里面找)找到你的容器双击,在Modify the server ports中改三者端口只要不和其他工程重复。然后保存。Timeout中超时报错改成很长的一段时间,防止电脑卡顿导致的开启失败。
- 此处debug可以运行,如果出错请检查
构建框架
1.新建src->com->system(新建名为com.system)框架就在其中构建
- system
- controller 控制器包(springmvc)
- service 服务器包(业务逻辑)
- mapper/dao 数据库交互包(data access object,数据库的增删改查)
- entity 模型层实体类(实体类的编写)
- dto 传参数据传输对象包
- pojo 数据库对象包(数据库获取到的数据封装为对象)
- vo 图像对象包
- common 公共使用包
- util 工具类
- constan 常量(define)
配置spring
1.新建src->com->conf(新建名为com.conf)->spring.xml,然后直接添加开头,大概功能是尝试连网,检查spring的配置。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
</beans>
2.在其中添加service类搜索并且加入(写在
<!-- 扫描标注@Service注解的service -->
<context:component-scan base-package="com.system.service"/>
配置springmvc
1.新建src->com->conf(新建名为com.conf)->springmvc.xml,添加如下代码。添加controller类搜索并且加入
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
<!-- 组件扫描器扫描这一层组要扫描处理器 -->
<context:component-scan base-package="com.system.controller"></context:component-scan>
<!-- 配置注解的映射器和适配器以及其他配置 -->
<mvc:annotation-driven></mvc:annotation-driven>
<!-- 处理静态资源问题 -->
<mvc:default-servlet-handler />
</beans>
2.在其中添加service类搜索并且加入(写在
<!-- 扫描标注@Service注解的service -->
<context:component-scan base-package="com.system.service"/>
配置web.xml
==注释:classpath打开工程中build中的classes文件,注意要加com。==
1.打开WebContent->WEB-INF->lib->web.xml可见初始代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>mysql_demo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.在其中引入配置好spring的xml文件(如果多个xml,用*.xml)
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/conf/spring.xml</param-value>
</context-param>
3.在其中引入监听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
4.在其中引入配置好springmvc的xml文件(如果多个xml,用*.xml)
<servlet>
<servlet-name>student</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/conf/springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>student</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
5.为强制编码中文字符防止乱码,加入过滤器
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 此处debug可以运行,如果出错请检查
**==到这里基本上架构完毕,下面开始尝试构建简单的服务==**
示例一:Hello World
- controller中新建java文件(Alt+/为自动补全,其他引用错误点击左侧错误信息自动补全)
@Controller
@RequestMapping("visitor")
public class LoginController {
@RequestMapping("/getString")
public void getString(HttpServletResponse response) throws IOException{
PrintWriter out=response.getWriter();
out.print("Hello World");
out.close();
}
}
运行并访问地址
http://localhost:(ip)/(容器名)/(请求的映射)